2016-03-08 155 views
0

我正在使用localhost。我已經有一個cookie是用兩個鍵創建的。我想存儲第三個密鑰,但是我無法將第三個密鑰保存在cookie中。它總是返回null。此頁面刷新後,此新密鑰不可用。這是我的代碼PHP setcookie返回null

$cart_data = array ('1','2'); 
$test = setcookie('user_cart', serialize($cart_data), time() + (60 * 20),'/',false,false,false); 
var_dump($test); 
die; 

//像這樣檢查輸出。 (此代碼在其他文件中)

if(isset($_COOKIE['user_cart'])){ 
echo '<pre>'; 
print_r($_COOKIE); 
die; 
} 
+3

您不能將數組設置爲cookie。嘗試序列化 – Mikpa

+0

@Mikpa,嘗試序列化,得到了布爾真,但沒有得到$ _COOKIE內的密鑰。 –

+0

顯示密碼請 – Mikpa

回答

0

這是我的壞!首先,如果要將數組存儲在cookie中,則必須序列化數組。其次,檢查cookie的大小(名稱+值+到期時間)是否不超過4KB。這樣,您就可以檢查cookie的大小:

$cookie_length = strlen(serialize($cart_data)); 

建議:不要在Cookie添加大量的數據。因爲無論何時超過限制,它都會覆蓋之前存儲的數據。