牛骨文教育服务平台(让学习变的简单)
博文笔记

学习PHP遇到的session不能删除、清空的问题,手贱啊手贱

创建时间:2014-08-12 投稿人: 浏览次数:4028

超级郁闷的问题,原来是我手贱了


关于删除 session:

http://blog.sina.com.cn/s/blog_a03d702f01011hh4.html


关于删除 cookie:

http://blog.csdn.net/ljl1603/article/details/4263606


写一个登录界面的时候,成功登录后注销出来,尝试了很多代码都没能成功清空

结果仔细观察才发现当时是这样写了:

(我是从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>" );
}

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。