如何通过PHP将数组存储在cookie中?
How to store array in cookie by PHP?
我想在我的网站上建立一个简单的关注列表,让客户无需创建帐户即可收藏一些产品。
我看了这个题目说不能直接用base64编码存到cookie里。
此脚本通过单击按钮切换。如果产品已经在监视列表中,它将被删除,如果它不在监视列表中,它将被添加。
这是我试过的:
$p = "123456789"; // some product id
$a = isset($_COOKIE['fav']) ? unserialize(base64_decode($_COOKIE['fav'])) : [] ;
if($p!==in_array($a)){
$a[] = $p;
} else {
if(($key=array_search($p,a))!==false){
unset($a[$key]);
}
}
$b = base64_encode(serialize($a));
setcookie('fav',$b,time()+3600*24,'/');
但是 cookie 没有设置。
if (!in_array($p, $a)) { // <- this is the right syntax
$a[] = $p;
} else {
if (($key = array_search($p, a)) !== false) {
unset($a[$key]);
}
}
如果你想要它,请键入保存它
if (!in_array($p, $a, true))
我想在我的网站上建立一个简单的关注列表,让客户无需创建帐户即可收藏一些产品。
我看了这个题目说不能直接用base64编码存到cookie里。
此脚本通过单击按钮切换。如果产品已经在监视列表中,它将被删除,如果它不在监视列表中,它将被添加。
这是我试过的:
$p = "123456789"; // some product id
$a = isset($_COOKIE['fav']) ? unserialize(base64_decode($_COOKIE['fav'])) : [] ;
if($p!==in_array($a)){
$a[] = $p;
} else {
if(($key=array_search($p,a))!==false){
unset($a[$key]);
}
}
$b = base64_encode(serialize($a));
setcookie('fav',$b,time()+3600*24,'/');
但是 cookie 没有设置。
if (!in_array($p, $a)) { // <- this is the right syntax
$a[] = $p;
} else {
if (($key = array_search($p, a)) !== false) {
unset($a[$key]);
}
}
如果你想要它,请键入保存它
if (!in_array($p, $a, true))