我有幾個$ _SESSION變量來跟蹤用戶來自哪個頁面。這樣,我可以使錯誤消息更具體,從而使Web應用程序更加友好。當用戶不是來自任何頁面時,應該在主頁頂部有一個「歡迎」消息。但是,當關閉瀏覽器並訪問主頁面時,我會收到與在關閉會話之前鏈接的頁面相對應的消息。這是我的函數:會話在瀏覽器關閉時不會過期
function come_from($from_page, $updates_occurred) {
$message = "";
if ($updates_occurred == false) {
$message .= "Welcome to the User List.<br/>";
$message .= "Select the user you wish to update, or add a new user. ";
} elseif ($from_page == "edit_user.php") {
$message .= "The user was successfully updated";
} else {
$message .= "The user was successfully added";
}
return $message;
}
在主頁的頂部,我有下面的代碼:
if (isset($_SESSION['updates_occurred'])) {
$updates_occurred = $_SESSION['updates_occurred'];
} else {
$updates_occurred = false;
}
if (isset($_SESSION['come_from'])) {
$come_from = $_SESSION['come_from'];
} else {
$come_from = NULL;
echo "got here";
}
echo come_from($come_from, $updates_occurred);
* updates_occurred只是跟蹤用戶是否已成功編輯/上一加頁。
我想我主要關心的是:我使用會話變量的方式有問題嗎?如果我的理解是正確的,會話變量應該在瀏覽器關閉時過期,對嗎?
哎呀我覺得很不禮貌:謝謝你給任何人提前! – nv39
您是否關閉了整個瀏覽器(每個標籤頁,每個窗口)或只是選項卡?無論是好還是壞,當有任何標籤/窗口打開時,會話cookie仍會繼續存在於大多數(所有?)瀏覽器中,您必須關閉所有內容才能銷燬它們。 – DaveRandom
太好了,那是問題所在。謝謝:-) – nv39