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



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

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

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

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

*

logged_status状态设置为具有0和1标志的dataType enumerated,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 来做到这一点会更好。

而不是使用PHP端使用android端并使用SharedPpreferences存储登录,有很多可用的例子,这样您的用户将在进入应用程序时显示为已登录,除非他退出。

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

但是最好在 android 端编写一个函数,该函数不断调用服务器上的 php 脚本来更新状态,这样如果用户长时间处于非活动状态,他们的状态将变为未在您的表中登录。

让我知道你的想法

最新更新