将数组存储在cookie中
我通过 php 序列化函数将数组转换为 cookie
$PromoteProductArray = array("PromoteuserId"=>$PromoteuserId,
"PromoteProductId"=>$PromoteProductId,
"PromoteBrandId"=>$PromoteBrandId);
$Promotedcart[] = $PromoteProductArray;
setcookie("Promotedcart", serialize($Promotedcart), time()+604800,'/');
,当创建 cookie 时,我将使用反序列化 php 函数。
print_r(unserialize($_COOKIE['Promotedcart']));
它不起作用。
当我 print_R($_COOKIE)
时,它会显示该值。
I am converting the array into cookie by php serialize function
$PromoteProductArray = array("PromoteuserId"=>$PromoteuserId,
"PromoteProductId"=>$PromoteProductId,
"PromoteBrandId"=>$PromoteBrandId);
$Promotedcart[] = $PromoteProductArray;
setcookie("Promotedcart", serialize($Promotedcart), time()+604800,'/');
And when the cookie is created then i am using the unserialize php function.
print_r(unserialize($_COOKIE['Promotedcart']));
it does not work.
When I print_R($_COOKIE)
then it show me the value.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Cookies 以分号分隔。带有数组的序列化字符串将它们包含在里面。也许这是一个问题。您可以使用 base64 来避免所有可能的转义问题。
Cookies separated by semicolon. Serialized strings with arrays contain them inside. Maybe this is a problem. You can use base64 to avoid all possible escape issues.
您可以使用
json_encode
、json_decode
函数作为替代方案来实现此目的。尝试一下,这应该可行。
You can use
json_encode
,json_decode
functions to achieve this as an alternative.Give it a try, this should work.