2013-04-27 140 views
-1

我有一個網站可以讓用戶登錄。 而問題是如何檢查他們是否logged in. 我試過這種方法 - 當用戶登錄更新(用戶表)行Logged到'1',當他們註銷更新logged行回到0.這是通過獲取用戶名從session檢查用戶是否已登錄

$username=$_SESSION['username']; 

做不過這個方法不起作用,因爲它僅適用於一個用戶。我讀了timestamps是一個很好的實現方法,但我不知道該怎麼做。

任何幫助?謝謝!

+1

爲什麼不用這個方法? – Kermit 2013-04-27 14:38:13

+0

它在第一個用戶註銷時起作用。當第二個用戶註銷時,它保持1而不是0 – 2013-04-27 14:39:41

+0

請記住,每個用戶都有自己的會話。 – manix 2013-04-27 14:40:00

回答

3

如果您在成功登錄後用您的用戶名填寫您的$_SESSION['username'],這是您檢查此變量是否爲空。

PHP會話通過PHPSESSID作爲查詢參數或cookie(如果啓用)確定,因此每個瀏覽器和客戶端的會話應該是唯一的,並且持續到瀏覽器關閉爲止。

對於時間有限的會話,您可以將登錄時間保存爲會話變量中的時間戳(例如$_SESSION['logintime']),並在過去時間戳太多時自動註銷用戶。

+0

謝謝你的幫助。我只是在兩種不同的瀏覽器上測試過它! – 2013-04-27 14:51:14