在我的网站上,我希望建立一个简单的监视列表,以使客户无需创建帐户即可收藏某些产品。
我读过这个主题,它不可能直接通过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]);
}
}