1

我有一个 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)。这样大家就可以看到问题了。登录似乎工作正常,但注销运行不正常。

提前致谢!

4

3 回答 3

0

尝试添加路径:

setcookie("userName", "", mktime(12,0,0,1, 1, 1970), "/");  

你也可能逃脱:unset($_COOKIE['cookieName']);

于 2012-05-16T05:26:39.430 回答
0

尝试:

unset($_COOKIE[login]) and unset($_COOKIE[userName])

或者

setcookie("login") and setcookie("userName")
于 2012-05-16T05:27:15.723 回答
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;
}

希望这会帮助你。

于 2012-05-16T05:35:58.980 回答