我希望每24小時清理一次會話變量。我不想殺掉或取消所有會話,只需要一個會話,每天24小時不會設置。每24小時進行一次php會話清理
0
A
回答
0
當客戶端1日創建的會話只要給它一個日期:
if(!isset($_SESSION['date'])
$_SESSION['date'] = date('m_d_y');
然後,每當該頁面改變檢查日期:
if($_SESSION['date'] == date('m_d_y')){
//still today
}
else {
//destroy session
}
或者你可以根據小時數與時間戳做到這一點,並檢查:
if(!isset($_SESSION['creationTime'])
$_SESSION['creationTime'] = time();
if (time() - $_SESSION['creationTime'] <= 60*60*24){
//still today
}
else {
//destroy session
}
1
當你創建會話時,寫入它的時間戳。然後,您正在使用seesion檢查實際時間戳和創建會話,然後如果差值超過86400,則刪除會話並創建新會話。
此解決方案可防止用戶使用24小時以上的會話。您可以將其他比較算法應用於例如。防止用戶在當天1AM之前使用會話。那麼當你每天在1AM的時間裏每24小時需要擦除一次會話時,就會非常相似地工作。
2
0
當創建會話(也許當用戶登錄),聲明會話超時:
session_start();
$_SESSION["timeout"] = time()+ (60*60*24);
創建後端功能/頁面,jQuery的可調用每10秒/ 5秒到你(我把它保存爲get_session .PHP):
session_start();
$session_life = time() - $_SESSION["timeout"];
$inactive = 0;
if($session_life > $inactive){
session_destroy();
echo 'Destroyed';
}
運行每5秒jQuery的腳本(推薦在主頁/模板頭/頁的頁腳):
<script type="text/javascript">
window.setInterval(function(){
sessionHeartBeat();
}, 5000);
function sessionHeartBeat(){
$.ajax({
url: 'get_session.php',
success: function(response){
console.log(response);
}
});
}
</script>
相關問題
- 1. 每24小時執行一次php頁面
- 2. 每24小時運行一次php任務
- 3. 每24小時後執行一次ac#函數
- 4. Android:每次會話運行一次asynctask
- 5. Android:AlarmManager每24小時運行一次 - 它只能保存一次嗎?
- 6. 每24小時運行一次服務,並在5次後停止android代碼
- 7. 使用PHP進行會話處理Mysql
- 8. 試圖每24小時調用一次函數
- 9. 從我的鏈接表隨機鏈接每24小時一次
- 10. Fullcalendar每天24 + 7小時
- 11. NSD每小時24小時制?
- 12. Zend_Session_SaveHandler_DbTable正在每次刷新時清除會話?
- 13. Moment.js 24小時時間格式,處理第24小時
- 14. 每12小時運行一次javascript
- 15. 定期清理會話變量,無需清理會話
- 16. .net會話清除php會話
- 17. 僅在會話開始時第一次運行php
- 18. 在確切的時間和每24小時發送一次通知
- 19. 在每次頁面加載之前進行會話檢查?
- 20. 每個會話只顯示一次jQuery
- 21. Laravel 5.1 - 會話每刷新一次
- 22. 每用戶會話檢查一次 - asp.net
- 23. 火JavaScript(燈箱)每會話一次
- 24. PHP會話變量在每次加載頁面時重置
- 25. 回聲東西每進行24次迭代
- 26. Micosoft Edge清理會話
- 27. Java servlet - 會話清理(HttpServletRequest)
- 28. 24小時運行服務
- 29. 每個會話都會出現一次javascript ok/cancel對話框
- 30. 限制SQL行更新爲每24小時1次的最佳方式
一個會話在哪裏?在服務器上?在客戶端?在月球上? – Neal 2011-06-07 16:45:21
在客戶端上。 – shalamhez 2011-06-07 16:46:43
一個會話變量或一個會話?決定:) – 2011-06-07 16:47:45