[英]PHP: Server check if user is logged in or out
我想要能够告诉用户是否从服务器端登录。 我目前已经设置了我的数据库中的每个用户记录都有一个属性'loggedin'(布尔值)。 如果我的用户经历了登录过程,那么他/她的'loggedin'设置为'1'(true)。 如果用户通过注销页面,我将其设置为“0”(错误)。 我的问题是,如果他们没有通过注销页面,而是他们的cookie超时?
希望能帮助任何人更好地理解我想要实现的目标。 我只是试图制作一个功能,将在用户的页面上显示自上次登录以来已经有多长时间。我现在正在计算,但它显示“用户在线”或“在线4分钟前”取决于前面描述的数据库中的'loggedin'值。 所以,如果我访问一个朋友页面,它会告诉我多久以前它们已经存在了。
**只是想可能在数据库中存储另一个属性,该属性存储登录后cookie的超时时间,因此我可以检查'loggedin'值及其超时值以确定要显示的信息。 这似乎不是一个很好的方式,但我不知道。
如果你有一个比我上面描述的方法更好的方法,请告诉我:)
感谢您的任何信息!
使用会话变量:
$_SESSION['logged'] = 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,就可以根据需要进行调整。
可能需要一点修改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.