簡體   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