2014-10-10 51 views
0

下面是一個可能的場景:一個php頁面訪問會話的一些會話變量與SSID 1000的會話。在另一個選項卡上,用戶註銷,這意味着銷燬當前會話。我會假設最壞的情況會發生:代碼仍然在第1頁運行。在那種情況下會發生什麼?第1頁的代碼是否仍然使用SSID 1000中的會話變量,現在不存在?我可以使用「try catch」塊來處理引發的潛在異常嗎?對於SSID 1000的會話,會話增值會發生什麼,我可能會在第1頁的數據庫查詢中使用它?PHP頁面原子性和一致性?

我知道這個問題可能是不可思議的,但因爲我要處理異常(如果這種情況引發了一個異常),並防止不一致的值插入到DB這種情況對我很重要。

在此先感謝

回答

0

網頁是無狀態的。它們不處於「登錄」或「註銷」狀態。如果會話在查看頁面時關閉,則嘗試繼續使用會話將失敗。當我嘗試訪問另一個頁面時,$ _SESSION將被重新創建 - 一個新的會話。所有你需要做的作爲一個網絡程序員處理$ _SESSION是空的。

+0

處理的會話是空的是一樣的,如果用戶從未訪問的網站,並沒有任何會話。 – 2014-10-10 17:52:50