2012-07-20 69 views
1

我有一個下降設置爲用戶登錄和會話時間()和一些其他東西添加到表中。刪除用戶會話從MySQL表,如果他們點擊關閉瀏覽器

的問題我有是,當用戶關閉瀏覽器它dosent從mysql表中刪除了會議。

從用戶角度來看它很好,因爲他們在打開瀏覽器時必須重新登錄。

但是對於超級用戶儀表板仍然顯示,如果他們關閉瀏覽器用戶已登錄。

我有一個看看關閉瀏覽器警報javascript代碼,但是我寧願找到一種方法做它沒有這種。

然後我想,也許一個cron腳本,但可能出注銷用戶,除非我正在更新的時間()每次點擊另一個頁面的時間。這是唯一的方法嗎?

回答

1

我不相信瀏覽器告訴你它被關閉。

唯一的辦法就是在服務器上做到這一點。

嘗試每次得到確認時間記錄當前時間對會議 - 這將是最後訪問時間的會話。

然後,您可以刪除超過您決定的某段時間的所有會話。您可以通過cron作業來完成此任務,或將其添加到會話驗證代碼中,並且每個用戶都可以幫助保持表格整潔。

+0

乾杯,我想我會去cron。它會讓我把它添加到即時運行的其他cron腳本中,這樣我就可以讓所有這些房屋保持在一個地方。 – jonnypixel 2012-07-21 04:26:38

1

你的數據庫沒有「isLoggedIn」列。它可以只有一個「lastActivityTime」列。該用戶將被註銷,如果currentTime的 - lastActivityTime < loggedOutTime

+0

感謝您的回答,它與@ AW101是一樣的,但他們提到了cron,也是我如何在代碼中處理它的替代方案。我會給你一個,但我會給他們打勾。謝謝你們倆。 :) – jonnypixel 2012-07-21 04:25:22

相關問題