0

我想删除一个 cookie,但发现必须刷新浏览器或单击另一个链接才能使 cookie 消失。我在 PHP 中使用了 header(..)。

if(isset($_COOKIE['auth_key'])){setcookie("auth_key", "", time() - 3600);}
header("Location: ../login.php"); 

当我到达登录页面时,cookie 会输出,但在刷新时它会消失,或者如果我从那里转到另一个链接,它就会消失。

我希望在没有任何用户交互的情况下删除 cookie,并在服务器加载 login.php 之前将其删除。

任何帮助,将不胜感激。

这个答案是:

 if(isset($_COOKIE['auth_key'])){setcookie("auth_key", "", 1,'/');}

因为我用斜杠'/'设置了cookie。我用它来删除它,它现在可以工作了。然而,奇怪的是 cookie 在刷新时仍然被删除。

4

3 回答 3

0

我找到的正确答案是用“/”设置cookie:

if(isset($_COOKIE['auth_key'])) {
    setcookie("auth_key", "", 1, '/');
}

我用它来删除所有 cookie,它现在可以工作了。但是,cookie 仍会在刷新时被删除。

于 2012-10-24T16:11:07.667 回答
0

只需清除 login.php 开头的 cookie(使用此代码)而不是此重定向页面。

于 2012-10-24T15:06:05.937 回答
0

考虑设置一个超时时间,然后使用 Javascript 向服务器端页面发起 AJAX 请求以删除有问题的 cookie。

于 2012-10-24T15:06:21.440 回答