cookie在php中不会被删除
当用户按下注销链接时,我将cookie设置为删除:cookie在php中不会被删除,php,browser,cookies,Php,Browser,Cookies,当用户按下注销链接时,我将cookie设置为删除: if(isset($_GET['logout'])) { setCookie("user",'',time()-(60*60*24*365*5)); echo "deleted cookie"; } 当我点击“注销”时,我会得到“已删除的写入cookie”,。。当我再次启动浏览器时,会出现我的登录屏幕,尽管这不应该导致cookie被删除。。为什么会这样 编辑:原始的setcookie(
if(isset($_GET['logout']))
{
setCookie("user",'',time()-(60*60*24*365*5));
echo "deleted cookie";
}
当我点击“注销”时,我会得到“已删除的写入cookie”,。。当我再次启动浏览器时,会出现我的登录屏幕,尽管这不应该导致cookie被删除。。为什么会这样
编辑:原始的setcookie()
调用:
setCookie("user",$password_hash,time()+60*60*24*365*5,"/");
我甚至这样做:
setCookie("user",'',time()-(60*60*24*365*5));
echo "deleted cookie";
echo $_COOKIE["user"];
cookie仍会打印出来使用:
unset($_SESSION);
unset($_COOKIE);
这样用户就必须重新登录。由于您在原始的
setcookie()
调用中将路径指定为“/”
,请在未设置的调用中发送相同的path语句:
if(isset($_GET['logout']))
{
// Delete cookie from browser
setCookie("user",'',time()-(60*60*24*365*5), "/");
// Unset the cookie value in context of the running script
unset($_COOKIE['user']);
echo "deleted cookie";
}
首先显示用于设置cookie的代码。如果您也指定了路径和域,则它们必须完全匹配。在调用
setcookie()
删除其setcookie(“用户”、$password\u hash,time()+60*60*24*365*5,“/”)之前,请确保没有生成任何输出<代码>$\u COOKIE在请求脚本时始终包含COOKIE的值。使用setcookie()
删除cookie不会取消设置$\u cookie
变量。那完全可以。在下一个请求中,您将看到这一点。查看并删除文件系统,然后重新启动服务器,使用户也需要重新登录。这真的不是一个有用的答案,它与删除浏览器中的cookie无关。-1这不起作用。$\u COOKIE
超全局有效地是只读的。您的代码,似乎正在工作..而ekrembk..unset方法工作..我读到/没有必要。。我想php食谱的作者是错的