【发布时间】:2012-07-20 04:10:09
【问题描述】:
我正在为此拉扯头发。它适用于 chrome 和 Firefox,但不适用于 safari。我做错了什么?
我正在设置一个临时 cookie,然后检查它是否已设置。当我从 safari 清除所有 cookie,然后运行此文件时,它认为 cookie 仍然存在。
这里是代码
setcookie("testcookie", 'cookiesetting temporary');
if(isset($_COOKIE['testcookie'])){
echo "cookie set":
}else{
echo "no cookie set";
}
仅在 safari 中,禁用 cookie 并删除所有 cookie 后,当我运行上面的代码时,它仍然会回显 cookie 集。
为了确定,我还在资源下查看了 safari 中的开发工具,但我没有看到那里的 cookie。
我在这里错过了什么?
【问题讨论】:
-
如果您想知道浏览器是否发送了 cookie,请检查请求标头。除非您还没有验证您的 Safari 不再发送 cookie,否则我会相信 PHP 会说 cookie 在那里。就是这么简单。调试时,请在正确的位置进行调试。找出事实,而不仅仅是环顾四周(比如说前 5 分钟,环顾四周是可以的,但不能再久了。在那之后,即使你需要先了解整个 HTTP 标准,也要直奔事实。无论如何这都是值得的。 )
标签: php cookies safari cross-browser