PHP cookie没有删除

时间:2013-02-15 11:20:29

标签: php cookies

我已阅读各种主题,但似乎没有任何解决方案可行。

我有两个PHP页面:

cookieson.php

<?php session_start();
$future = time()+60*60*24*30*12;
setcookie('CookiesAgreed', 'yes', $future, '/');
?>

cookiesoff.php

<?php session_start();
$past = time()-9999999999999999;
setcookie('CookiesAgreed', null, $past, '/');
?>

cookieson.php正确地将Cookie“CookiesAgreed”设置为大约一年后到期。

cookiesoff.php应该完全清除“CookiesAgreed”cookie,但似乎没有做任何事情 - 价值不会改变(根据Firefox的Cookies列表),到期时间不会改变,而且cookie没有t删除。偶尔会创建一个全新的cookie(同样,根据Firefox),具有相同的名称,价值和到期日期。

我做错了什么?!

(您可以在http://www.rugbyfiles.com/cookieson.phphttp://www.rugbyfiles.com/cookiesoff.php看到)

2 个答案:

答案 0 :(得分:7)

这会耗尽堆栈并溢出:

$past = time()-9999999999999999;

相反,这样做:

$past = time()-60*60*24*30*12;

时间变量只能包含从04294967296的值。当你给出如此长的负值时,它会从堆栈中消失。

答案 1 :(得分:0)

setcookie("CookiesAgreed","",time()-24*60*60,"/");