利用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页面
} ?>