欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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可以显示:

php和session实现简单的登录记忆

输入预设的用户名user01 密码123456 可以显示:

 php和session实现简单的登录记忆

关闭页面,重新打开localhost:

php和session实现简单的登录记忆

如果不想保持登录状态,则点击清除:

php和session实现简单的登录记忆

点击返回,则进入登录界面,实现对session的清除。

有问题可以站内联系我。

源码下载:

php和session实现简单的登录记忆-Web服务器文档类资源-CSDN下载

改进版:

1)将data变量拆分成2个独立变量

2)将die函数改为return 避免if条件判断后还不跳出 继续执行下面的语句。

3)设计跳回登录界面的语句。

新的源码下载:

php和session实现简单的登录记忆--改进版-Web服务器文档类资源-CSDN下载

相关标签: php