伙计们,我目前正在开发一个具有登录和注册页面的移动应用程序。我已经设置了登录和注册页面,效果很好。
保存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 脚本来更新状态,这样如果用户长时间处于非活动状态,他们的状态将变为未在您的表中登录。
让我知道你的想法