PHP setcookie返回null

时间:2016-03-08 09:41:35

标签: php cookies

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

1 个答案:

答案 0 :(得分:0)

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

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

建议:不要在cookie中添加大量数据。因为只要超过限制,它就会覆盖以前存储的数据。