在PHP中取消设置或删除cookie

时间:2018-03-21 12:29:48

标签: php cookies

我正在尝试删除我在代码中的特定点设置的某些Cookie,但它们并未完全取消设置或删除。

我刚刚解开了这些问题,然后经过对这个问题的一些研究后,我看到很多人将cookie设置为空白,并且时间到期为负:

unset($_COOKIE["lifting365_last_name"]);
setcookie("lifting365_customer_id", "", time()-3600);

当我这样做然后var_dump($_COOKIE);我设置的cookie没有被转储到屏幕上。它们似乎不再存在。

但是,如果我导航到另一个页面,那么cookie将恢复到我之前设置的状态。

有没有办法完全删除我的Cookie?对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用Unset命令只是在运行时从超级全局$ _COOKIES中删除数据,实际的cookie存储在用户计算机上,并在请求中传递,然后PHP填充到COOKIES全局。

为了删除cookie,cookie的PATH部分必须与您当前的路径相同或设置为“/”以在整个域中可用。

setcookie("TestCookie", "Some Data", 0, '/');

这使它在整个域中可用,并将在会话结束或关闭浏览器时到期。

然后删除:

setcookie("TestCookie", "", time()-3600, '/');

我还会检查服务器和客户端上的测试时间是否正确。