PHP setcookie返回null

PHP setcookie返回null

问题描述:

我正在使用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

这是我的坏!首先,如果要将数组存储在cookie中,则必须序列化数组。其次,检查cookie的大小(名称+值+到期时间)是否不超过4KB。这样,您就可以检查cookie的大小:

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

建议:不要在Cookie添加大量的数据。因为无论何时超过限制,它都会覆盖之前存储的数据。