2009-12-09 74 views
0

我有一個身份驗證功能。用戶在30分鐘後自動註銷。我想將登錄時間(時間戳?)存儲在驗證功能中。每次需要認證的功能被調用時,我都會更新那個時間。如果自上次調用30分鐘後,它將自動重新進行身份驗證。我將最後一次訪問時間戳或日期存儲在全局變量中。我正在查看代碼示例,其中展示了一種很好的方法:在PHP中,檢查30分鐘是否已過期的示例?

1)將日期或時間戳存儲在全局變量的認證或最後一個函數調用中 2)將當前時間與上次調用進行比較,以查看30分鐘是否已過去。

感謝

回答

8

你需要在這裏做的是時間戳存儲在會話,以便它可以pageloads之間依然存在。 要存儲當前時間戳在會話剛做到以下幾點:

$_SESSION['lastAuthTimestamp'] = time(); 

然後,當你想看看它自上次AUTH你可以簡單地這樣做了更多的則30分鐘:

if((time() - $_SESSION['lastAuthTimestamp']) > 30*60) 
{ 
    //more then 30min has passed 
}