2011-05-01 71 views
1

好的,我的网站是用PHP编写的。我在使用IE时遇到问题,有时不删除cookies。这是我的注销代码。使用IE时Cookie删除问题

setcookie("user", "", time() - 50000000); 

setcookie("pass", "", time() - 50000000); 

header("Location: index.php"); 

这在Firefox,Chrome等等很好用,但IE有时不会删除cookies?

我登录时设置cookie看起来是这样的:

setcookie("user", $result['Handle'], time() + 50000000); 

setcookie("pass", $pass, time() + 50000000); 

header("Location: news.php"); 

我只是不明白为什么它会清除它的大部分时间,但被卡住其他时间。

+1

我怀疑它可能读错时间的负数。你只需要它在过去的某个点,尝试显着降低50000000 – 2011-05-01 04:19:05

+0

另一种可能性可能是有时你的header()在cookie有机会被删除之前执行。也可以在运行setcookie()之后尝试执行header()。在条件排序的东西 – 2011-05-01 04:21:06

+0

谢谢,我试过这两种方法,它仍然卡住。这很奇怪。它在Firefox中甚至IE都能正常工作,但有时会卡住。 – Brad45 2011-05-01 04:28:39

回答

1

请注意,您并未在不同目录级别设置Cookie。这将有效地为同一个域创建两个Cookie,但为子目录/路径设置一个Cookie。即www.example.com与www.example.com/mypath。除了根目录之外,您还可以为子路径设置Cookie,现在只删除子目录的Cookie,以便保留根Cookie。我不认为这将是一个IE特定的行为,但。