PHP学习笔记:利用Session限制未登录用户的访问

利用Session实现登陆
当没有用户输入相关登陆信息时,显示登陆表单页面(5-14.php) ;
当有用户登录(表单登陆按钮被按下)时,视情况显示不同页面:
情况1:当验证用户的用户名和密码不能通过时,显示错误信息(5-14.php)
情况2:当验证用户的用户名和密码通过后,为用户的Session变量赋值,并转到欢迎页(管理页)(5-15.php);
当登陆成功后,可以注销登陆,即删除销毁该用户的Session(5-15.php,5-16.php)。

/*当没有用户输入相关登陆信息时,显示登陆表单页面(5-14.php) ;
  当有用户登录(表单登陆按钮被按下)时,视情况显示不同页面:*/
  5-14.php代码:
<? ob_start ()     //在文件第一行顶格写此代码开启缓冲区      ?>
<? session_start();
if($_POST["submit"]==Null){    //当登陆按钮没有被按下时 ,显示登陆表单。
echo '<form method = "post" action = "">
用户名:<input type="text" name="userName"/>
密码:<input type="password" name="PW"/>
<input name="submit" type="submit" value="登录"/>
</form> ';}
else {                                            //当登陆按被按下后,视情况显示不同页面。
$user=$_POST["userName"];      $pw=$_POST["PW"];
if ($user== "admin" && $pw== '123'){    //判断用户名和密码,当二者正确时
$_SESSION['user']=$user;         //将用户名存入$_SESSION['user'],这是关键 
header('Location:5-15.php');}    //自动跳转到5-15.php
else echo "用户名或密码错误";}        //用户名和密码不正确时,显示错误信息 
?>
/*5-14.php  5-15.php,利用Session实现登陆*/
//===============5-15.php代码=============
<? ob_start ()     //在文件第一行顶格写此代码开启缓冲区      ?>
<? 
session_start();
if (isset($_SESSION['user']))           //如果$_SESSION['user']不为空 
{  echo "欢迎您,".$_SESSION["user"]."<br/>
//在超链接href属性中设置URL字符串
<a href= '5-16.php?action=logout'>注销</a>";   }
else
echo "未登录用户不允许访问";?>
?>
//==============5-16.php  注销登陆的实现===============
<? ob_start ()     //在文件第一行顶格写此代码开启缓冲区      ?>
<?   if($_GET['action'] == "logout"){          //当“登出”时,要消除用户的Session
	session_start();		//启动Session功能
               //将会话Cookie变量user设置为过期,即删除会话Cookie 	
               setcookie("user","",time()-60);	
	session_unset();		//删除所有Session变量(删除$_SESSION)
	session_destroy();	//删除SessionID,销毁Session
              echo "注销成功,3秒后即将返回注册页面。";
	header("Refresh:3; url=5-14.php");      //3秒后自动跳转到5-14.php页面
}  ?> 

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42111463/article/details/84894679