[英]Best way to update a cookie?
我正在编写一个类来控制正在处理的自定义CMS的cookie处理方式,我对创建cookie后更新其最佳方法感到好奇。 下面,我从类中粘贴了一个函数,该函数当前用于更新cookie,但似乎无法正常工作。 我遇到的问题是,即使此函数返回“ true”,cookie似乎也不会更改。
function updateCookie($data){
$cookieArray = $this->getCookie();
array_push($cookieArray,$data);
//print_r($cookieArray);
$json_string = json_encode($cookieArray,true);
if(setcookie(_COOKIENAME, $this->encodeString($json_string,"S33D"))){
return true;
}
else return false;
}
建议或更正会有所帮助。
谢谢
文档中的一些提示可能会有所帮助:
如果在调用此函数之前存在输出,则setcookie()将失败并返回FALSE。 如果setcookie()成功运行,它将返回TRUE。 这并不表示用户是否接受了cookie。
...
请注意,当您发送cookie时,cookie的值部分将自动进行urlencode,并且在接收到该cookie时,它会被自动解码并通过与cookie名称相同的名称分配给变量。 如果您不想这样做,则可以使用setrawcookie()来代替(如果您使用的是PHP 5)。
http://php.net/manual/zh/function.setcookie.php
还有一些编织:setcookie返回一个布尔值,因此无需执行检查。 做就是了:
return setcookie( ... );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.