2012-07-16 45 views
1

我對瀏覽器關閉問題有一些疑問。當瀏覽器關閉。如何在php中關閉瀏覽器時運行sqlk查詢

我正在使用xcart.When用戶登錄網站和任何情況下瀏覽器將被關閉任何會話將被銷燬..並且運行sql查詢用戶狀態將脫機。

問候, 馬尼什帕特爾

+0

可能重複[當瀏覽器關閉如何自動註銷用戶?](http://stackoverflow.com/questions/ 10116292 /如何在瀏覽器關閉時自動註銷用戶) – Quentin 2012-07-16 09:08:00

回答

1

更新用戶狀態的代碼可以移動到一個包含文件,一些沿此線:

$time = date('Y-m-d H:i:s', strtotime('now -15 minutes')); 
$sql = "UPDATE users SET status = 'offline' WHERE last_activity < '{$time}'"; 

此類型可包括在網站上例如主頁,並且與誰在線實際無關。

你會顯然需要一列(時間戳會是一個很不錯的),以記錄他們的活動的

+0

這隻有在流量穩定的情況下才有效。即使有太多它會過度寫入數據庫。使用['crontab'](http://linux.die.net/man/5/crontab)更可靠。 – Martin 2012-07-16 09:12:07

+0

他有多少交通並不重要,下一次有人訪問它將更新數據庫並將每個人都設置爲離線。如果它是一個重負載的站點,使用crontab可能會更好,但如果不是,那麼cron作業本身會導致額外的開銷。永遠不同的需求,永遠不可能適合所有人。 – Dale 2012-07-16 09:15:48

+0

你假設讀取數據庫的唯一實體是網站,並且我確信每隔幾分鐘就有一個查詢不會被認爲是任何書籍中的「額外開銷」;) – Martin 2012-07-16 09:17:41