在PHP中删除JavaScript会话Cookie

时间:2013-02-20 21:46:37

标签: javascript php session cookies

浏览器关闭时会删除“浏览器”会话cookie。 在JavaScript中设置“浏览器”会话cookie时,不包括失效日期。

document.cookie= "MyCookieName = MyValue; path=/";

我想删除php中的“浏览器”会话cookie。 我试过这个:

setcookie('MyCookieName','', time() - 3600,'/'); 

不幸的是,cookie没有被删除。

1 个答案:

答案 0 :(得分:0)

首先,我认为创建cookie(JS或PHP)的方式没有任何区别。

您无法强制浏览器删除Cookie文件。但是,您可以删除cookie的内容并使其过期。这正是您在上面的代码中所做的。我可能会稍微调整一下:

setcookie('MyCookieName', '', 1, '/'); // no need to calculate one hour ago.

假设cookie有一些价值,您可以检查您的代码是否生效:

if ($_COOKIE["MyCookieName"] == '') {
  echo 'cookie was deleted';
}

在用户关闭浏览器之前,文件仍然不会被删除。

检查以上内容是否有效还有一个问题是cookie路径(setcookie()中的第四个参数。)可能只为/blog设置了cookie。您应该能够通过使用Safari webkit开发人员工具或类似的东西检查cookie来推断出这一点。