2012-01-29 45 views
0

我可以使用Server [request_time]獲取當前時間戳。但是,我將如何在每個請求中使用它,以便我知道哪個會話超過10分鐘未處於活動狀態?基本上我不知道如何檢測這些請求,以便我可以捕獲最後一個時間戳(基於該請求)。它是否必須附加到每個單一的HTML按鈕?如何更新PHP中每個請求的時間戳?

回答

1

您可以保存在會議的最後一個請求的時間:

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

您在每次請求做到這一點。

之前更新會話值,可以檢查該會話多長時間處於非活動狀態:

if (time() - $_SESSION['last_request'] > 10*60) { 
    echo 'You were inactive for at least 10 minutes.'; 
} 

PS:您可以使用$_SERVER['REQUEST_TIME']而不是time()如果你有很長的運行scrips。在大多數情況下,它沒有任何區別。

+0

問候,當你對每個請求說,它必須是一個頁面刷新?所以我會包括一個onload JavaScript調用,讓每個頁面上說updatestate.php?謝謝! – Marin 2012-01-29 18:07:27

+0

@Marin沒關係。瀏覽器在每次請求時都會用php會話ID提交cookie。 – Cheery 2012-01-29 20:56:10

+0

謝謝謝麗我修改了代碼,它的工作原理。 – Marin 2012-01-31 09:00:51