PHP:服务器检查用户是否已登录或注销

时间:2011-04-16 14:04:10

标签: php mysql login

我希望能够判断用户是否从服务器端登录。我目前已经设置了我的数据库中的每个用户记录都有一个属性'loggedin'(布尔值)。如果我的用户经历了登录过程,那么他/她的'loggedin'设置为'1'(true)。如果用户通过注销页面,我将其设置为“0”(错误)。我的问题是,如果他们没有通过注销页面,而是他们的cookie超时?

希望能帮助任何人更好地理解我想要实现的目标。我只是试图制作一个功能,将在用户的页面上显示自上次登录以来已经有多长时间。我现在正在计算,但它显示“用户在线”或“在线4分钟前”取决于前面描述的数据库中的'loggedin'值。所以,如果我访问一个朋友页面,它会告诉我多久以前它们已经存在。

**只是想在数据库中存储另一个属性,该属性存储登录后cookie的超时时间,因此我可以检查'loggedin'值及其超时值以确定要显示的信息。这似乎不是一个很好的方式,但我不知道。

如果你有比上述方法更好的方法,请告诉我:)

感谢您的任何信息!

2 个答案:

答案 0 :(得分:2)

使用会话变量:

$_SESSION['logged'] = 1;

您可以在整个脚本中使用它们,并且它们的值将保持在重新加载之间。

答案 1 :(得分:1)

创建一个这样的语句

if (isset($_COOKIE['loggedin'])) {
    echo '<p>User is online</p>';
} elseif (!isset($_COOKIE['loggedin'])) {
    echo '<p>User Offline!</p>';
} else {
    // another statement if needed to handle errors
}

我认为只要在登录脚本上创建了cookie,就可以根据需要进行调整。

可能需要一点修补。