簡體   English   中英

PHP:服務器檢查用戶是否已登錄或注銷

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM