这是一个非常奇怪的问题,而且我很难弄清楚发生了什么。偶尔,我的cookie会返回值"已删除"而不是它的适当价值。是否有任何Web浏览器将cookie值转换为"已删除"如果它已经过期了?
我已经完成了大量的Google搜索和SO搜索,但无法找到这样的内容。
有没有人见过这个?
答案 0 :(得分:2)
检查以确保在您致电setcookie()
时设置合理的到期时间,以确保您的Cookie在使用时不会过期。
From the php documentation (trimmed for important parts):
Cookie过期的时间。这是一个Unix时间戳,所以数量也是如此 自纪元以来的几秒钟。换句话说,你最有可能设定 这与time()函数加上你之前的秒数 希望它过期。
如果设置为0或省略,则cookie将在结束时到期 会话(浏览器关闭时)。
修改强>
在我发现的setcookie()
文档的下方
必须使用与设置相同的参数删除Cookie 用。如果value参数是空字符串,或者为FALSE,则为all 其他参数匹配先前对setcookie的调用,然后是cookie 将从远程客户端删除具有指定名称的名称。这个 通过将值设置为“已删除”来实现内部实现。到期 过去一年的时间。
即。似乎你的cookie被更新为空字符串或被设置为false。