【发布时间】:2026-02-16 03:20:03
【问题描述】:
我想删除一个 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 在刷新时仍然被删除。
【问题讨论】:
-
不要使用相对时间来删除 cookie。人们的时钟可能会被关闭。要删除 cookie,请始终使用固定时间值
1。 -
试过了,但 cookie 正在删除我(和你)的方式。这是让浏览器接受这一点的事实。