PHP Session
PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。
PHP Session 变量
您在计算机上操作某个应用程序时,您打开它,做些更改,然后关闭它。这很像一次对话(Session)。计算机知道您是谁。它清楚您在何时打开和关闭应用程序。然而,在因特网上问题出现了:由于 HTTP 地址无法保持状态,Web 服务器并不知道您是谁以及您做了什么。
PHP session 解决了这个问题,它通过在服务器上存储用户信息以便随后使用(比如用户名称、购买商品等)。然而,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久存储信息,可以把数据存储在数据库中。
Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导
本次练习代码如下,简单模拟用户登录:
login.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<form action="login.php">
用户名:<input type="text" value="" name="uname"><br/>
密码:<input type="password" value="" name="pwd"><br/>
<input type="submit" value="登录">
</form>
</body>
</html>
login.php:
<?php
session_start();
$uname=$_GET['uname'];
$pwd=$_GET['pwd'];
if($uname=='zhangsan' && $pwd=='123'){
$_SESSION['uname']=$uname;
echo '登录成功';
var_dump($_SESSION['uname']);
}else{
echo "登录失败";
}
check.php:
<?php
session_start();
if(empty($_SESSION['uname'])){
exit('你没有登录成功,不允许查看');
}else{
echo '登录成功'.$_SESSION['uname'];
}
session_destory();
loginout.php:
<?php
session_start();
unset($_SESSION['uname']);
session_destroy();
运行截图: