簡體   English   中英

會話銷毀后誘導功能

[英]Inducing a function after session is destroyed

我想在會話被破壞(即用戶關閉瀏覽器)之后引入一個函數。 此函數會將數據庫中的值從true更改為false。 那可能嗎?

我猜想您想弄清楚用戶是否在線(或類似的東西?),“知道”(讀:猜測)會話已死的唯一方法是存儲用戶的時間上次激活,然后將該時間與當前時間進行比較。 然后,根據您的需求,您可以決定假設處於非活動狀態30分鍾的用戶處於脫機狀態。

唯一的方法是使用Javascript檢測關閉,並使用Ajax請求(例如使用XMLHttpRequest )到您的PHP頁面(處理注銷部分)。

有關結束部分的更多信息,請參見使用javascript(或任何其他語言)進行的瀏覽器/標簽關閉檢測

我建議您在數據庫中注冊用戶的上一次活動,這樣可以100%准確。 然后,通過將注冊日期與當前時間進行比較,可以確定用戶何時處於活動狀態。

如果您真的想知道用戶是否仍在您的頁面上,也可以做一些事情,但是您應該避免這樣做:在客戶端,例如,每隔一分鍾進行一次javascript循環,以告知服務器客戶端還在那兒。 當客戶端關閉頁面時,循環將不會進行任何新查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM