如何在php上删除/取消设置cookie?

时间:2011-12-01 12:35:22

标签: php cookies session-cookies session-timeout

我想用这个取消/删除我现有的cookie:

setcookie ("user", "", time()-1); 
unset($user);

但无法删除或取消设置Cookie。那么问题是什么?

6 个答案:

答案 0 :(得分:17)

你可以通过这种方式取消设置cookie只能-1不能正常工作

试试这个

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

答案 1 :(得分:4)

删除Cookie时,您应确保过期日期已过去。

删除示例:

// set the expiration date to one hour ago
setcookie("user", "", time()-3600);

答案 2 :(得分:3)

没什么 - 那段代码对我来说很好。

引用文档:

  

删除Cookie时,您应确保过期日期已过去,以触发浏览器中的删除机制。

setcookie ("TestCookie", "", time() - 3600);

您可能希望指定一个过去更多的时间,以避免计算机的时间问题可能有点过时。

此外,在某些情况下,实际取消设置$_COOKIE['TestCookie']也很有用。

答案 3 :(得分:3)

正如已经说过的那样 - 删除cookie时,您应确保过期日期已过去。

但是你还必须使用相同的路径甚至域进行删除,你用它来创建cookie,所以如果像这样创建cookie

setcookie ("user", "John", time()+7200, '/', 'mydomain.com'); 

删除此cookie使用此代码

setcookie ("user", "", time()-3600, '/', 'mydomain.com');

并且更好地使用过去的特定日期而不是时间() - 3600

答案 4 :(得分:2)

// 必须提供根路径或任何特定的cookie路径

//SET COOKIE
setcookie ("user", "", time() + 3600 , '/'); 

//UNSET COOKIE
setcookie ("user", "", time()-100 , '/' ); // past time

答案 5 :(得分:1)

setcookie ("user", "", time() - 3600);
//will reset cookie(client,browser)
unset($_COOKIE["user"]);
// will destroy cookie(server)