【问题标题】:Delete cookie (PHP, JS) works in Firefox, Safari, Opera but not Chrome删除 cookie (PHP, JS) 适用于 Firefox、Safari、Opera 但不适用于 Chrome
【发布时间】:2013-10-12 21:33:39
【问题描述】:

这个问题基本上说明了一切,我正在尝试在 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

【问题讨论】:

标签: javascript php cookies


【解决方案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
}

【讨论】:

    【解决方案2】:

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

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

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

    我什至不再发送 JS 代码 PHP 来处理它!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 2021-06-05
      • 1970-01-01
      • 2016-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多