我正在使用localhost。我已经用两个键创建了一个cookie。我想存储第三个密钥,但我无法将第三个密钥保存在cookie中。它总是返回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;
}
答案 0 :(得分:0)
这是我的坏!首先,如果要将数组存储在cookie中,则必须序列化数组。其次,检查cookie的大小(名称+值+到期时间)是否超过4KB。这样你就可以检查cookie的大小:
$cookie_length = strlen(serialize($cart_data));
建议:不要在cookie中添加大量数据。因为只要超过限制,它就会覆盖以前存储的数据。