學習PHP遇到的session不能刪除、清空的問題,手賤啊手賤
阿新 • • 發佈:2018-12-25
超級鬱悶的問題,原來是我手賤了
關於刪除 session:
關於刪除 cookie:
寫一個登入介面的時候,成功登入後登出出來,嘗試了很多程式碼都沒能成功清空
結果仔細觀察才發現當時是這樣寫了:
(我是從html進入login.php,在PHP中判斷使用者名稱和密碼最後到結果頁)
session_start (); // 登入 if (! isset ( $_POST ['submit'] )) { exit ( '<script>location.href="login.html"</script>' ); } // 登出登入 if ($_GET ['action'] == "logout") { $_SESSION = array (); if (isset ( $_COOKIE [session_name ()] )) { setcookie ( session_name (), '', time () - 3600, '/' ); } session_destroy (); // 最後徹底銷燬session. echo '<script>alert("已安全登出");location.href="login.html"</script>'; exit (); }
後來在登出登入裡寫了 alert,也沒給彈出來,終於發現。。。我從結果頁登出過來哪來的 submit
只是用的 action=logout,果斷的修正了,可正常清空,Like This
(先判斷是不是 logout 再去判斷是不是從首頁 submit 進來的,不是就給我去登入)
session_start (); // 登出登入 if ($_GET ['action'] == "logout") { $_SESSION = array (); if (isset ( $_COOKIE [session_name ()] )) { setcookie ( session_name (), '', time () - 3600, '/' ); } session_destroy (); // 最後徹底銷燬session. echo '<script>alert("已安全登出");location.href="login.html"</script>'; exit (); } // 登入 if (! isset ( $_POST ['submit'] )) { exit ( '<script>location.href="login.html"</script>' ); }