首页> 基础笔记 >PHP基础学习 >常用功能块 常用功能块
基于Cookie的用户登录模块
作者:小萝卜 2019-08-30 【 PHP 】 浏览 1372
简介基于Cookie的用户登录模块
基于Cookie的用户登录模块
登录页面
<html>
<head>
<title>用户登录</title>
</head>
<body>
<h2>用户登录</h2>
<form action="login.php?action=login" method="post">
用户名 <input type="text" name="username" /> <br>
密 码
<input type="password" name="password" /><br>
<input type="submit" value="登录" />
</form>
</body>
</html>
login.php
/* 声明一个删除Cookie的函数,调用时清除在客户端设置的所有Cookie */
function clearCookies() {
setCookie('username', '', time()-3600); //删除Cookie中的标识符为username的变量
setCookie('isLogin', '', time()-3600); //删除Cookie中的标识符为isLogin的变量
}
/* 判断用户是否执行的是登录操作 */
if($_GET["action"]=="login") {
/* 调用时清除在客户端先前设置的所有Cookie */
clearCookies();
/* 检查用户是否为admin,并且密码是否等于123456 */
if($_POST["username"]=="admin" && $_POST["password"]=="123456") {
/* 向Cookie中设置标识符为username,值是表单中提交的,期限为一周 */
setCookie('username', $_POST["username"], time()+60*60*24*7);
/* 向Cookie中设置标识符为isLogin,用来在其他页面检查用户是否登录 */
setCookie('isLogin', '1', time()+60*60*24*7);
/* 如果Cookie设置成功则转向网站首页 */
header("Location:index.php");
}else{
die("用户名或密码错误!"); } /* 判断用户是否执行的是退出操作 */
}else if($_GET["action"]=="logout"){
clearCookies(); /* 退出时清除在客户端设置的所有Cookie */
}
状态显示页面
<?php
/* 如果用户没有通过身份验证,页面跳转至登录页面 */
if(!(isset($_COOKIE['isLogin']) && $_COOKIE['isLogin'] == '1')) {
header("Location:login.php"); exit;
}
?>
<html>
<head>
<title>网站主页面</title>
</head>
<body>
<?php /* 从Cookie中获取用户名username */
echo '您好:'.$_COOKIE["username"];
?>
<a href="login.php?action=logout">退出</a>
<p>这里显示网页的主体内容</p>
</body>
</html>
很赞哦! (0)