1. 程式人生 > >學習PHP遇到的session不能刪除、清空的問題,手賤啊手賤

學習PHP遇到的session不能刪除、清空的問題,手賤啊手賤

超級鬱悶的問題,原來是我手賤了

關於刪除 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>' );
}