我想知道为什么我不能删除带有课程的cookie,但我可以不用任何课程。
cookies.php
static public function Delete($name, $expiry){
unset($_COOKIE[$name]);
setcookie($name, false, $expiry, '/');
}
的index.php
if(Cookie::Exists('country')){
Cookie::Delete($_COOKIE['country'], time() - 3600);
}
这不起作用。以下代码有效。
if(Cookie::Exists('country')){
setcookie('country', false, time() - 3600, '/');
}
我没有错误。我用两个选项制作了echo
个内容,第一个echo
总是检索内容。第二个只检索内容1次(之后删除..这是正确的)。
答案 0 :(得分:0)
Cookie::Delete($_COOKIE['country'], time() - 3600);
您传递COOKIE的值作为Cookie的名称。因此,如果国家/地区在Cookie中为“UK”,则您的DELETE方法会将名为“UK”的Cookie设置为过期。
也改变它
Cookie::Delete('country', time() - 3600);