可能重複:
How do I expire a PHP session after 30 minutes?銷燬或取消會話時,用戶關閉瀏覽器不點擊註銷
我摧毀logout.php所有會話var和調用它,當用戶點擊在註銷時,用戶不會點擊logout.php,而是直接關閉瀏覽器。我怎樣才能刪除會話呢?
可能重複:
How do I expire a PHP session after 30 minutes?銷燬或取消會話時,用戶關閉瀏覽器不點擊註銷
我摧毀logout.php所有會話var和調用它,當用戶點擊在註銷時,用戶不會點擊logout.php,而是直接關閉瀏覽器。我怎樣才能刪除會話呢?
您可以設置過期時間會話數據,每個session_start
通話測試,並摧毀了會議,如果它過期:
session_start();
if (!isset($_SESSION['EXPIRES']) || $_SESSION['EXPIRES'] < time()+3600) {
session_destroy();
$_SESSION = array();
}
$_SESSION['EXPIRES'] = time() + 3600;
你不能。但是,會話cookie通常在沒有過期時間的情況下發送,這意味着在瀏覽器關閉時它們被刪除,因此會話丟失。
是否有一些新聞要避免這個問題? – neoDev 2015-03-08 12:17:33
會話可以設置爲簡單地到期服務器不聽從客戶經過一段時間後。這就是你要尋找在當瀏覽器窗口關閉提供您不要修改會話cookie過期時間
PHP會議應自動失效的方向......
馬丁。如果這沒有發生,那麼我會假設你已經以某種方式修改了這個,我們需要更多的細節來協助。
如果您沒有爲會話cookie設置過期時間,當用戶關閉瀏覽器時,它將被刪除,對於大多數實際用途(除非您擔心存儲或安全性),該瀏覽器具有相同的效果。如果這還不夠好,您可以將會話設置爲非常快到期,並定期通過AJAX進行刷新。
Duplicates:http://stackoverflow.com/questions/2201750/php-destroy-session-on-close-of-main-window,http://stackoverflow.com/questions/2171821/how-do-i -make-my-site-automatically-sign-out-a-user-when-they-close-their-browser,http://stackoverflow.com/questions/959655/destroy-session-on-window-close等等:http://stackoverflow.com/search?q=php+session+browser+close – 2010-05-15 11:56:00
感謝您的答覆,在哪裏以及什麼是會話超時的語法。 – nectar 2010-05-15 11:56:28
另請參閱:http://stackoverflow.com/questions/887919,http://stackoverflow.com/questions/520237和http://stackoverflow.com/questions/508959 – Gumbo 2010-05-15 12:17:15