删除cookie(PHP,JS)适用于Firefox,Safari,Opera,但不适用于Chrome

时间:2013-10-12 21:33:39

标签: javascript php cookies

问题基本上解释了这一切,我正在尝试删除PHP中的cookie,并且还发送JS以删除cookie,而不仅仅在Chrome中工作...

<?php
  unset( $_COOKIE['name'] );
  setcookie('name', '', time() - 3600 ); // empty value and old timestamp
?> 
<script type="text/javascript">
    function deleteCookie( name ) {
       document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
    }
    deleteCookie('name');

</script>
<a href="cookie.php">cookie</a>

感谢所有帮助,谢谢!

编辑:Firefox中的Firebug没有显示任何错误,PHP错误日志没有显示任何内容......我唯一能看到的是Chrome似乎保留了1个特定值。 name = ABCDE ...如果我将其更改为name = ABC然后删除name = ABC它将显示name = ABCDE,如果我删除name = ABCDE它仍会显示name = ABCDE

2 个答案:

答案 0 :(得分:1)

为什么不在删除时尝试将cookie的值更改为不同的内容?

这样可以避免将过期日期设置为过去的日期,并希望浏览器将其删除。

因此,例如,ABCDE=deleted; expires=Thu, 01 Jan 1970 00:00:01 GMT;代替ABCDE=;expires=Thu, 01 Jan 1970 00:00:01 GMT;

现在您可以检查它是否应该被删除,但仍然存在于Chrome中:

if(document.cookie.indexOf('ABCDE=deleted') !== -1) 
{
    // cookie still exists, but was supposed to be deleted
}

答案 1 :(得分:0)

在开发过程中某些线路交叉,我进入chrome设置并删除了我的域中的cookie和所有数据:

https://superuser.com/questions/548096/how-can-i-clear-cookies-for-a-single-site

现在效果很好!我在论坛上看到有同样问题的其他人,我鼓励你这样做......

我甚至不再发送JS代码,PHP会照顾它!