我想使用以下代码取消/删除我的现有cookie:
setcookie ("user", "", time()-1);
unset($user);
但是cookie无法被删除或取消设置。那么问题是什么?
我想使用以下代码取消/删除我的现有cookie:
setcookie ("user", "", time()-1);
unset($user);
但是cookie无法被删除或取消设置。那么问题是什么?
你只能使用以下方法取消设置Cookies,可能没有效果
尝试这个
setcookie ("user", "", time() - 3600);
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
//必须提供根路径或任何特定的cookie路径
//SET COOKIE
setcookie ("user", "", time() + 3600 , '/');
//UNSET COOKIE
setcookie ("user", "", time()-100 , '/' ); // past time
正如已经提到的 - 当删除 cookie 时,您应确保过期日期是在过去。
但是,您还必须使用相同的路径和甚至域来进行删除,就像创建 cookie 时一样,因此如果按照以下方式创建 cookie:
setcookie ("user", "John", time()+7200, '/', 'mydomain.com');
要删除此 cookie,请使用以下代码
setcookie ("user", "", time()-3600, '/', 'mydomain.com');
同时最好使用过去的具体日期,而不是time() - 3600
。 (注:该句为 IT 技术相关内容,涉及代码编写。)setcookie ("user", "", time() - 3600);
//will reset cookie(client,browser)
unset($_COOKIE["user"]);
// will destroy cookie(server)
我认为这段代码没有问题。
引用文档中的内容:
当删除cookie时,应确保过期日期是过去的,以触发浏览器中的删除机制。
setcookie ("TestCookie", "", time() - 3600);
您可以选择更早的时间,以避免计算机时间不准确造成的问题。
此外,在某些情况下,实际上还有必要取消设置 $_COOKIE['TestCookie']
。
除了包含 Cookie 路径的代码之外,此页面上的所有内容都是不正确的。除非指定了路径,否则不会删除 Cookie。
$cookie->delete()
很有用,它可以在这个独立库中找到。 - caw