1

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

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

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

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

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

4

1 回答 1

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()。可能仅设置了 cookie,例如 for /blog。您应该能够通过使用 Safari 检查 cookie 来推断这一点webkit 开发者工具或类似的东西。

于 2013-02-20T22:01:44.387 回答