如何在不刷新浏览器的情况下删除PHP cookie?

时间:2012-10-24 15:02:41

标签: php cookies

我想删除一个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在刷新时仍然被删除。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

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