我想删除一个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在刷新时仍然被删除。
答案 0 :(得分:0)
只需在login.php的开头清除cookie(使用此代码),而不是此重定向页面。
答案 1 :(得分:0)
考虑设置一个超时时间,然后使用Javascript向服务器端页面发起AJAX请求,以删除相关的cookie。
答案 2 :(得分:0)
我找到的正确答案是用“/”设置cookie:
if(isset($_COOKIE['auth_key'])) {
setcookie("auth_key", "", 1, '/');
}
我用它来删除所有cookie,现在可以使用了。但是,刷新时仍会删除cookie。