嗨,大家好,有誰能讓我解決問題。我只是檢查瀏覽器關閉事件,如果用戶關閉了瀏覽器或關閉了同一網站的所有標籤頁,則會破壞php會話。關閉瀏覽器清除PHP會話
我使用了一些腳本,但它們正在銷燬頁面刷新的會話(F5或CTRL + R或瀏覽器刷新按鈕)。
我只需要使用AJAX來檢查瀏覽器的關閉按鈕或ALT + F4 ..
總之調用PHP函數,當用戶完全關閉瀏覽器或關閉所有標籤。
嗨,大家好,有誰能讓我解決問題。我只是檢查瀏覽器關閉事件,如果用戶關閉了瀏覽器或關閉了同一網站的所有標籤頁,則會破壞php會話。關閉瀏覽器清除PHP會話
我使用了一些腳本,但它們正在銷燬頁面刷新的會話(F5或CTRL + R或瀏覽器刷新按鈕)。
我只需要使用AJAX來檢查瀏覽器的關閉按鈕或ALT + F4 ..
總之調用PHP函數,當用戶完全關閉瀏覽器或關閉所有標籤。
一旦用戶關閉瀏覽器,會話應自動丟棄。除非有某種「記住我」的功能。
感謝評論,我用記住我的功能,我需要緊密地檢查瀏覽器。 –
如果您使用「記住我」功能,爲什麼在關閉瀏覽器後嘗試終止登錄?這不會使Remember Me功能無用嗎? –
有沒有辦法保證你的服務器可以知道用戶已經關閉了他們的瀏覽器 - 不要試圖實現這一點。
當用戶關閉瀏覽器時,會話將自動丟失,因爲瀏覽器不會保留用於將自身與生成的PHP會話關聯的cookie。但是,這並不是必然的保證。你可能需要問一個不同的問題。
感謝您的寶貴意見 –
PHP會議的工作是這樣:
它存儲陣列的每個實例靜態變量類型,並通過存儲的哈希值作爲被叫PHPSESSID一個cookie標識會話變量。
那個Cookie的生命期是在瀏覽器打開的時候,在瀏覽器關閉的時候Cookie被丟棄了。
某些瀏覽器可能存儲該Cookie永久,但會話在服務器端有超時。
你可以在Browser Close上運行一個函數的情況是不可能的,因爲Browser Kill的所有在運行JavaScript時都退出。
會話cookie的_default_生存期爲0,即標記爲「客戶端會話關閉時刪除」。但是_can_可以更改,請參閱http://docs.php.net/session.configuration#ini.session.cookie-lifetime。而且......還有其他的方式來傳輸會話ID,但他們有其他(和更大的)問題。 – VolkerK
[您嘗試過什麼?](http://whathaveyoutried.com) – 2012-08-25 01:50:04
無法從網站中檢測到瀏覽器關閉事件。 –
可能重複的[銷燬窗口關閉會話?](http://stackoverflow.com/questions/959655/destroy-session-on-window-close) – mplungjan