删除cookie不起作用

bon*_*nny 2 php cookies session setcookie

你好,我正试图抓住一个问题疯狂.

我无法删除将在index.php上设置的cookie,如下所示:

$a = 'text';
setcookie('name_of_cookie', $a, time()+60*60*24*365);
Run Code Online (Sandbox Code Playgroud)

在page-php上,我可以调用该cookie,内容就像$ a.我试图在page.php上删除那种不同的方式:

setcookie('name_of_cookie', FALSE, time()-3600);
Run Code Online (Sandbox Code Playgroud)

我还找到了一个版本,我只将它设置为:

setcookie('name_of_cookie');
Run Code Online (Sandbox Code Playgroud)

我将在浏览器的设置中设置另一个具有相同名称的cookie.新cookie没有内容 - 当然,没有声明内容.

我也试图在过去设置更高的时间,因为服务器位置,但这也不起作用.甚至试图将时间设置为1不起作用.

我几次检查了名称的拼写,没有来自不同名称的失败.

如果有人能说出我做错了什么,我会很高兴的吗?

谢谢.

Luk*_*awa 6

当你设置cookie 非常具体时,你如何设置它们.始终设置域名(可以从$ _SERVER ['SERVER_NAME']获取)和路径(我通常设置为"/").如果你不一致,某些东西可以采取"聪明"的主动性并打破你的逻辑.当你在JS中设置cookie并尝试从PHP中删除它们时(或者反过来),它经常发生.您可能有多个具有相同名称但不同子域或路径的cookie.

例如,你设置这样的cookie:

setcookie( 'Foo', 'Bar', time() + 3600, '/', $_SERVER['SERVER_NAME'] );
Run Code Online (Sandbox Code Playgroud)

你就这样取消了它们:

setcookie( 'Foo', '', time() - 999999, '/', $_SERVER['SERVER_NAME'] );
Run Code Online (Sandbox Code Playgroud)

缺少最后两个参数将使您处于目前的状态.