利用Cookie和Session存储用户信息
服务器phpStudy:
Cookie的用法:
在WWW目录下创建CookiePhp项目文件夹:里面创建:
1.创建登录页面Login.php,详细代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form method="post" action="loginok.php">
用户名:<input type="text" name="name"><br>
密码:<input type="password" name="pwd"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
2.创建login_ok.php,设置用户名和密码,登录成功,并创建cookie对象,其他页面可判断cookie对象,代码如下:
<meta charset="UTF-8">
<?php
if ($_POST['name']=='admin'&&$_POST['pwd']){
//制作卡片
setcookie('islogin',true,time()+60,'/');
setcookie('name',$_POST['name'],time()+60,'/');
echo "<script>alert('登录成功');location='index.php';</script>";
}
else{
echo "登录失败!";
}
?>
输入用户名,密码,输入正确进行登录:
3.创建主页面,index.php,判断是否是同一个cookie对象,不是的话不让访问返回登录页面,如果不登录直接访问,则没有创建cookie,直接访问此页面,会判断是否是同一个cookie对象,不让访问,返回登录压面详细代码如下:
<meta charset="UTF-8">
<?php
if (isset($_COOKIE['islogin'])&&$_COOKIE['islogin']==true) {
echo "欢迎".$_COOKIE['name']."<br>";
echo "<a href='a.php'>去a页面</a>";
}
else{
echo "对不起,您无权访问,3秒退回登录页面";
echo "<meta http-equiv='refresh' content='3;url=Login.php'>";
}
?>
4.创建a页面,判断是否是同一个cookie对象,进行访问a页面,不是的话不让访问,代码如下:
<meta charset="UTF-8">
<?php
if (isset($_COOKIE['islogin'])&&$_COOKIE['islogin']==true){
echo "欢迎".$_COOKIE['name']."<br>";
echo "<a href='index.php'>首页</a>";
echo "<a href='logout.php'>退出登录</a>";
}
else{
echo "对不起,您无权访问,3秒退回登录页面";
echo "<meta http-equiv='refresh' content='3;url=Login.php'>";
}
?>
5.创建loginout.php,里面写退出登录,消除cookie对象,代码如下:
<meta charset="UTF-8">
<?php
setcookie('islogin',null,time()-1.,'/');
setcookie('name',null,time()-1.,'/');
echo "<script>alert('退出成功');location='Login.php';</script>";
?>
点击退出登录:
Session的用法:
1.Session的登录页面和Cookie的登录页面一样。
2.创建loginok.php,设置登录的用户和密码,并设置Session对象,进行其他页面传值
<meta charset="UTF-8">
<meta charset="UTF-8">
<?php
session_start();//开启Session对象
if ($_POST['name']=='admin'&&$_POST['pwd']=='123456'){
//定义Session
$_SESSION['user']['islogin']=true;
$_SESSION['user']['name']=$_POST['name'];
$_SESSION['user']['pwd']=$_POST['pwd'];
echo "<script>alert('登录成功');location='index.php';</script>";
}
else{
echo "登录失败!";
}
?>
3.创建主页面index.php,判断Session对象进行访问主页面是同一个session可以访问,否则退回登录页面,如果不通过登录,直接访问主页面,不让访问,代码如下:
<meta charset="UTF-8">
<?php
session_start();
if (isset($_SESSION['user']['islogin'])&&$_SESSION['user']['islogin']==true) {
echo "欢迎".$_SESSION['user']['name']."回来!<br>";
echo "<a href='a.php'>去a页面</a>";
}
else{
echo "对不起,您无权访问,3秒退回登录页面";
echo "<meta http-equiv='refresh' content='3;url=Login.php'>";
}
?>
4.创建a页面,a.php,判断是否是同一个session,来进行访问a页面。
<meta charset="UTF-8">
<?php
session_start();
if (isset($_SESSION['user']['islogin'])&&$_SESSION['user']['islogin']==true) {
echo "欢迎".$_SESSION['user']['name']."回来!<br>";
echo "<a href='index.php'>去首页</a>";
echo "<a href='logout.php'>退出登录</a>";
}
else{
echo "对不起,您无权访问,3秒退回登录页面";
echo "<meta http-equiv='refresh' content='3;url=Login.php'>";}
?>
5.创建loginout.php,消除Session对象,代码如下:
<meta charset="UTF-8">
<?php
session_start();
$_SESSION=array();
setcookie('PHPSESSID',null,time()-1,'/');
session_destroy();
echo "<script>alert('退出成功');location='Login.php';</script>";
?>
Session对象的结果和Cookie显示一样。