php和session实现简单的登录记忆
程序员文章站
2024-03-20 14:12:40
...
要求:登陆框能实现登录状态的记忆。
上代码:
<?php
session_start();
if (isset($_SESSION['login_user'])) //判断是否登录
{
$link = 'logout.php';
echo "<a href='{$link}' title=''>点我清除登录信息<br></a>";
die('已登录!当前登录用户为:' . $_SESSION['login_user']);
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') //判断是否为POST请求
{
if (!isset($_POST['username']) || empty($_POST['username'])) //检查是否输入用户名
{
die('请输入用户名!');
}
if (!isset($_POST['password']) || empty($_POST['password'])) //检查是否输入密码
{
die('请输入密码!');
}
$data = ['username' => 'user01', 'password' => md5('123456')]; //模拟数据
if ($_POST['username'] === $data['username']) //检查用户名是否正确
{
if (md5($_POST['password']) === $data['password']) //检查密码是否正确
{
//保存登录状态
$_SESSION['login_user'] = $_POST['username'];
$link = 'logout.php';
echo "<a href='{$link}' title=''>点我清除登录信息<br></a>";
die('恭喜你登录成功!');
}
}
die('用户名或密码不正确!');//用户名或密码不正确
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="gb2312">
<title>登录测试</title>
</head>
<body>
<!-- action=""是表示在当前页运行 -->
<form action="" method="post">
<input type="text" name="username" placeholder="请输入用户名!">
<input type="password" name="password" placeholder="请输入密码!">
<button type="submit">登录</button>
</form>
</body>
</html>
将上述代码保存为index.php。在继续写清除session页面:
<?php
session_start();
session_unset();
$link = 'index.php';
echo "登录信息已清除<br>";
echo "<a href='{$link}' title=''>点我返回登录界面</a>";
?>
将上述代码保存为logout.php。两个文件都部署在wampserver2上,测试运行:
打开localhost可以显示:
输入预设的用户名user01 密码123456 可以显示:
关闭页面,重新打开localhost:
如果不想保持登录状态,则点击清除:
点击返回,则进入登录界面,实现对session的清除。
有问题可以站内联系我。
源码下载:
php和session实现简单的登录记忆-Web服务器文档类资源-CSDN下载
改进版:
1)将data变量拆分成2个独立变量
2)将die函数改为return 避免if条件判断后还不跳出 继续执行下面的语句。
3)设计跳回登录界面的语句。
新的源码下载: