[請益] 一個session的問題
我有一個session的問題一直想不透,
我是想要讓使用者登入失敗後跳回原來的登入頁面並顯示登入失敗的文字,
目前的作法是在帳號密碼檢查錯後後
設定一個session變數$_SESSION['LoginFailed'] = TRUE,
然後再轉回原來的頁面,程式碼如下:
$_SESSION['LoginFailed'] = TRUE;
header("Location: index.php" );
另外在原來的頁面中去判斷$_SESSION['LoginFailed']是否已經設定,
是的話就印出登入失敗的文字,程式碼如下:
if(isset($_SESSION['LoginFailed']))
echo "帳號密碼錯誤";
到這裡都可以正常執行,但是這樣子做有一個問題是,如果曾經登入失敗過,
就算後來離開了此頁面,下次要再來這個頁面登入時,失敗文字仍然還會顯示,
原因是session變數還存在,因此我在echo之後,就把這個session變數unset掉,
程式碼如下:
if(isset($_SESSION['LoginFailed'])) {
echo "帳號密碼錯誤";
unset($_SESSION['LoginFailed']);
}
但是這樣子寫之後,就算登入失敗也不出現失敗文字了,我想了很久都想不出來為什麼,
session變數不是在echo之後才被unset的嗎?怎麼會不出現了?
請大家幫我解惑,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.31.150.2
※ 編輯: tayyih 來自: 61.31.150.2 (06/21 16:05)
推
06/23 10:46, , 1F
06/23 10:46, 1F
推
06/26 10:01, , 2F
06/26 10:01, 2F
→
06/26 10:02, , 3F
06/26 10:02, 3F
推
06/26 10:52, , 4F
06/26 10:52, 4F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章