繁体   English   中英

PHP:用于检查用户是否登录的会话

[英]PHP: Sessions to check if user is logged on

大家好,我目前正在开发一个具有登录和注册页面的移动应用程序。 我已经设置了登录和注册页面,并且效果很好。

包含user credentials的表具有以下字段:
username, fname, lname, password, logged_status

当用户“登录”时,应将该用户的状态设置为“登录”。 我怎样才能做到这一点?

**请注意,我的android应用程序连接到Web服务器,该Web服务器运行不同的PHP文件,具体取决于所执行的功能(例如,如果用户要登录,则login.php文件在服务器上执行*

除了使用PHP端使用android端并使用SharedPreference登录存储外,还有许多可用示例,这样您的用户只要进入应用程序就可以显示为已登录状态,除非他从应用程序注销。

使用0和1标志使logged_status状态enumerated dataType,默认为0。

当用户成功登录时,更新logged_status

<?php

$stmt = $dbh->prepare("SELECT * FROM users WHERE email = ?");
$stmt->execute([$_POST['email']]);
$row = $stmt->fetch();

if ($row && password_verify($_POST['password'], $row['pass']))
{   
    //update logged_status status
    $update = $dbh->prepare("UPDATE users SET logged_status ='1' where email= ?");
    if($update->execute([$_POST['email']])){
        // set sessions and redirect

    }
} else {
    echo "invalid";
}
?>

正如Aniket所建议的那样,如果您使用android而不是php会更好。

您可以使用布尔值表示登录状态,以便在用户登录时可以将值设置为1进行登录,而在注销时将其设置为0表示未登录。

但最好在android端编写一个函数,该函数不断在服务器上调用php脚本以更新状态,以便如果用户长时间不活动,其状态将变为不在表中登录。

让我知道你的想法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM