我有一个PHP登录/注销系统。注销的代码如下:
if($_POST['submit']=='logOut')
{
setcookie('userName','', time()-60*60*24*100);
setcookie('login','', time()-60*60*24*100);
header("Location: index.php");
exit;
}
通过以下方式检查用户的登录状态:
<?php
if(!$_COOKIE['login']):
// If you are not logged in
?>
据我所知,这应该记录用户,但似乎没有这样做。可以在novabvuild.comlu.com上查看该站点,并可以使用默认登录信息(admin,admin)。这样你们大家就可以看到这个问题。登录似乎工作正常,但注销无法正常运行。
提前致谢!
答案 0 :(得分:0)
尝试添加路径:
setcookie("userName", "", mktime(12,0,0,1, 1, 1970), "/");
你也可以逃脱:unset($_COOKIE['cookieName']);
答案 1 :(得分:0)
尝试:
unset($_COOKIE[login]) and unset($_COOKIE[userName])
OR
setcookie("login") and setcookie("userName")
答案 2 :(得分:0)
使用会话代替Cookie, 用户登录时设置会话,用户注销时取消设置/销毁会话
if($_POST['submit']=='logOut')
{
unset($_SESSION['userName']);
unset($_SESSION['login']);
header("Location: index.php");
exit;
}
else if($_POST['submit']=='login')
{
$_SESSION['userName']=$userName;
$_SESSION['login']=$login;
}
希望这会对你有所帮助。