初始化会话 session_start(),注册访问会话变量$_SESSION[],销毁会话变量 unset(), 销毁会话 session_destory()的用法
session 是什么?
session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置
<form method="post" action="">
用户名: <input type="text" name="user" >*要求为 6~12 个字符
<br>密码:<input type="text" name="pwd" >*要求为 6~16 个数字
<br><input type="submit" name="tj" value="提交">
</form>
if(isset($_POST["tj"]))
{
session_start(); //初始化会话
$user=$_POST["user"];
$pwd=$_POST["pwd"];
$checkid=preg_match('/^\w{6,12}$/',$user); //检查是否为 6~12 个字符
$checkpwd=preg_match('/^\d{6,16}$/',$pwd); //检查是否为 6~16 个数字
if(!$checkid)
echo "";
elseif(!$checkpwd)
echo "";
else{
$_SESSION["user"]=$user; //给会话赋值
header('location:10-1b.php');
}
}
?>
session_start(); //初始化会话
echo $_SESSION["user"];
unset($_SESSION['user']);
Cookie 是什么?
cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件
语法:setcookie(name, value, expire, path, domain);
<form method="post" action="">
用户名:<input type="text" name="user" ><br>
密码:<input type="text" name="pwd" ><br>
Cookie 保存时间:
<select name="time">
<option value="0">浏览器进程</option>
<option value="1">保存 10 秒</option>
<option value="2">保存 1 分钟</option>
<option value="3">保存 1 天</option>
<option value="4">保存 1 星期</option>
<option value="5">不保存</option>
</select>
<br><input type="submit" name="tj" value="提交">
</form>
if(isset($_POST["tj"]))
{
$user=$_POST["user"];
$pwd=$_POST["pwd"];
$time=$_POST["time"];
$checkid=preg_match('/^\w{6,12}$/',$user); //检查是否为 6~12 个字符
$checkpwd=preg_match('/^\d{6,16}$/',$pwd); //检查是否为 6~16 个数字
if(!$checkid)
echo "";
elseif(!$checkpwd)
echo "";
else{
switch($time)
{
case 0: setcookie("user",$user); break;
case 1: setcookie("user",$user,time()+10);break;
case 2: setcookie("user",$user,time()+60);break;
case 3: setcookie("user",$user,time()+60*60*24); break;
default: setcookie("user",$user,time()-1);
}
header('location:10-2b.php');
}
}
?>
if(isset($_COOKIE["user"]))
{
echo $_COOKIE["user"];
echo "欢迎光临!";
echo "安全退出";
}
else
{
echo "您还未登录,请登录!
";
}
?>
setcookie("user","",time()-1);
//unset($_COOKIE);
echo " 退 出 成 功 ! 重 新 登 录
";
?>
通过Session判断用户的操作权限
1) 编写登录页面。要求有字段验证。
2) 编写登录处理页面。要求根据登录页面提交的数据,判断不同的身份,显示不同的菜单操作或跳转至不同的页面。
3) 编写注销页面。注销结束后跳转至登录页面。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
span{
display:block;
margin-top:8px;
}
</style>
</head>
<body>
<form method="post" action="">
<span>用户名: <input type="text" name="user" >*要求为 6~12 个字符</span>
<span>密码: <input type="text" name="pwd" >*要求为 6~16 个数字</span>
<span>
<select name="who" id="">
<option value="visitor">普通用户</option>
<option value="vip">会员</option>
<option value="admin">管理员</option>
</select> <input type="submit" name="tj" value="提交"></span>
</from>
</body>
</html>
if (isset($_POST["tj"])) {
session_start(); //初始化会话
$user = $_POST["user"];
$pwd = $_POST["pwd"];
$identity = $_POST["who"];
$checkid = preg_match('/^\w{6,12}$/', $user);
$checkpwd = preg_match('/^\d{6,16}$/', $pwd);
if (!$checkid) {
echo "";
} elseif (!$checkpwd) {
echo "";
} else {
$_SESSION["user"] = $user;
$_SESSION["identity"] = $identity;
header("location:z9-1b.php");
}
}
?>
session_start(); //初始化会话
if (isset($_SESSION["user"])) {
echo "您好,尊敬的 " . $_SESSION["user"] . ",欢迎光临!";
if ($_SESSION['identity'] == 'visitor') {
$who = "普通用户";
} elseif ($_SESSION['identity'] == 'admin') {
$who = "管理员";
} elseif ($_SESSION['identity'] == 'vip') {
$who = "会员";
}
echo "
您当前的身份:" . $who."";
echo "
安全退出";
} else {
echo "您还未登录,请登录!";
}
unset($_SESSION['user']);