在localhost上,cookie完全被破坏,但是当我在实时服务器上执行它时,cookie被创建但没有被破坏而且会话也没有被破坏。
以下是销毁会话和cookie的代码:
if(!empty($_SESSION['userid']))
{
setcookie('user','',time()-4800,'/','liveserverdomain');
session_destroy();
header('location: http://www.liveserverdomain/login.php');
}
请向我建议销毁会话和cookie的解决方案。
答案 0 :(得分:0)
您应该检查服务器的时区并将其与您的localhost相匹配。你有4800秒的时间窗口?尝试将值提高到86400(一天)。
编辑顺便说一下,您确定要删除的Cookie名为'user'
吗? ......不应该是session_name()
?
仅删除cookie会在客户端“清除”会话并且不够安全。您还需要在服务器端清除它。
看看我对你问题的评论。您需要取消设置会话变量$_SESSION = array();
答案 1 :(得分:0)
您可以尝试使用unset(),如下所示:
unset($_COOKIE["mycookie"]);