PHP安全登录/注销:注销问题

PHP安全登录/注销:注销问题,php,mysql,login,logout,Php,Mysql,Login,Logout,我有一个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['log

我有一个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
?>

据我所知,这应该让用户注销,但它似乎没有这样做。可以在novabbuild.comlu.com上查看该网站,并且可以使用默认登录信息(admin,admin)。这样你们就可以看到问题了。登录似乎工作正常,但注销运行不正常

提前谢谢

尝试添加路径:

setcookie("userName", "", mktime(12,0,0,1, 1, 1970), "/");  
您也可能会侥幸逃脱:
unset($_COOKIE['cookieName'])

尝试:

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


使用会话而不是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;
}

希望这能对您有所帮助。

因为有很多方法可以建立身份验证系统,我建议您解释一下,或者在这里输入一些关于登录部分的代码。如果没有这些详细信息,我怀疑任何人都能帮你注销可以,但这取决于你如何检查用户是否登录。。。如果您像注销代码中所显示的那样使用cookie进行操作,那就足够了。那么会话呢?向我们展示您检查用户是否登录的方式。@user1397727我看到您在收到答案后进行了编辑。你尝过吗?有什么工作吗?我已经停止了这个网站,我在没有任何重大编辑的情况下将我的大部分代码转移到了Bluehost托管帐户上的www.msheeksproductions.com。我仍然有问题,当前的线程可以在
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;
}