2009-02-11 47 views
0

我正在創建一個站點,我正在使用會話來管理用戶登錄狀態。當用戶登錄時,我創建一個會話ID爲像這樣的用戶:如何檢查在PHP中註冊了哪個會話?

$_SESSION['username'] = "username"; 

如何檢查用戶是否登錄,如果是這樣,它是誰?

回答

4

如果你已經驗證您正在編寫$_SESSION['username']到的session superglobal用戶後,所有你需要做的就是仔細檢查會話用戶名是否存在等:

session_start() 
if (empty($_SESSION['username'])) { 
     // user is not logged in 
} 

搞清楚是誰在爲記錄就像檢查我們之前檢查過的變量$_SESSION['username']中存儲的用戶名一樣簡單。如果您想從數據庫結果或其他信息中保存真實姓名,只需將該信息轉儲到$_SESSION['data_type']陣列中即可。

會話變量應該在24分鐘內自動過期(PHP默認,我認爲)不活動,在這種情況下,您應該期望用戶再次登錄。如果您想立即登出用戶,請查看session_destroy()

+0

配置值session.gc_maxlifetime管轄會話長度,奇怪的是,默認值是24分鐘(1440秒)。 – 2009-02-11 08:18:17