2012-07-20 121 views
1

我正在把我的头发拉出来。它适用于Chrome和Firefox,但不适用于Safari。我究竟做错了什么?safari cookie问题

我正在设置一个临时cookie,然后检查它是否设置。当我清除safari中的所有cookie时,然后运行此文件,它认为cookie仍然存在。

这里是代码

setcookie("testcookie", 'cookiesetting temporary'); 
if(isset($_COOKIE['testcookie'])){ 
    echo "cookie set": 
}else{ 
    echo "no cookie set"; 
} 

在只野生动物园,禁用cookie和删除所有cookie后,当我运行上面的代码,它仍然呼应的cookie集。

为了确保,我还查看了资源下safari中的开发工具,并且在那里我看不到cookie。

我在这里错过了什么?

+0

如果你想知道,如果Cookie是由您的浏览器发送,检查请求头。除非您没有验证您的Safari不再发送cookie,否则我会相信PHP会说cookie在那里。这很简单。当你调试时,在正确的地方进行调试。了解事实,而不是环顾四周(环顾四周可以说前5分钟,但不再延长),然后直接找出事实,即使您需要首先了解整个HTTP标准,无论如何,这是值得的。 ) – hakre 2012-07-21 11:10:24

回答

1

我和Safari有同样的问题(无法取消cookie设置)。 您应该解决设置路径

setcookie('testcookie', 'cookiesetting temporary', time()+3600, '/path/'); // set 
setcookie('testcookie', '', time()-3600, '/path/'); // delete 

希望这个作品;)

+0

我去了js路线! – Autolycus 2012-07-24 19:52:38

0

只是清除它们的客户端不是测试这个正确的方法..你有没有尝试实际“unsetting”cookie的服务器端?

+0

试过这个setcookie(“testcookie”,'cookiesetting temporary',time() - 3600);仍然没有去 – Autolycus 2012-07-20 21:17:42