• 技术文章 >每日编程 >PHP知识

    PHP如何用session来记录用户登陆信息?(图文+视频)

    藏色散人藏色散人2018-10-15 16:16:16原创6054

    本篇文章主要给大家介绍用PHP中session来实现记录用户登录信息的具体方法。

    PHP中session实现记录用户登录信息的问题,也是PHP面试题中比较常见的考点之一,是PHP学习者必须掌握的一个知识点。

    对于初入门的PHP新手来说,或许有一定的难度。那么在之前的文章【PHP中session如何存储及删除变量的】中,也为大家介绍了PHP中session的基础含义,需要的朋友可以选择参考。

    下面我们就通过具体的代码示例,为大家详细的介绍PHP中session实现记录用户登录信息的具体方法。

    1.简单的登录界面代码示例:

    login.html

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>登录</title>
        <style type="text/css">
            body {
                background: url(images/bg.png);
            }
    
            .clear {
                clear: both;
            }
    
            .login {
                width: 370px;
                margin: 100px auto 0px;
                text-align: center;
            }
    
            input[type="text"] {
                width: 360px;
                height: 50px;
                border: none;
                background: #fff;
                border-radius: 10px;
                margin: 5px auto;
                padding-left: 10px;
                color: #745A74;
                font-size: 15px;
            }
    
            input[type="checkbox"] {
                float: left;
                margin: 5px 0px 0px;
            }
    
            span {
                float: left;
            }
    
            .botton {
                width: 130px;
                height: 40px;
                background: #745A74;
                border-radius: 10px;
                text-align: center;
                color: #fff;
                margin-top: 30px;
                line-height: 40px;
            }
        </style>
    </head>
    <body>
    <div class="login">
        <form action="check.php" method="post">
            <img src="images/header.png"><br>
            <input type="text" name="username" placeholder="请输入用户名!" value=""><br>
            <input type="text" name="password" placeholder="请输入密码!" value=""><br>
            <input type="submit" class="botton" value="login">
        </form>
        <div class="clear"></div>
    </div>
    </body>
    
    </html>

    2.简单的用于连接数据库的PHP文件代码示例:

    db.php

    <?php
    
    $dbName = 'demo';
    $host = '127.0.0.1';
    $user = 'root';
    $password = 'root';
    
    $dsn = "mysql:host=$host;dbname=$dbName";
    $pdo = new PDO($dsn, $user, $password);
    
    function sql($table, $field = '*', $where = '')
    {
        global $pdo;
        $sql = 'select' . ' ' . $field . ' ' . 'from' . ' ' . $table . ' where ' . $where;
        $data = $pdo->query($sql)->fetch();
        return $data;
    }

    这里我们定义了一个sql方法用来查询数据库表中字段,并返回数据

    那么如果有新手不清楚PHP连接数据库的方法,可以参考学习这篇文章PHP怎么连接Mysql数据库】。

    3.检验用户登录信息的代码示例:

    check.php

    <?php
    session_start();
    include "db.php";
    @$name = $_POST['username'];
    @$pas = $_POST['password'];
    
    $row = sql('user', '*', "username = '$name'");
    if (!$row) {
        return "用户名不存在!请检查用户名~~";
    }
    
    if ($row['password'] == $pas) {
        $_SESSION['username'] = "$name";
        echo "<script>
        alert('登录成功!正在跳转...')
    </script>";
        echo "<a href='index.php'>如果跳转失败请点击跳转~~</a>";
        header("Refresh:1;url=index.php");
    }

    这里我们要开启session,并用include引入数据库,然后用if语句判断查询提交过来的数据并将用户名提交给session来记录,即判断用户名密码是否存在及是否相等。

    4.登录成功后跳转的页面代码示例:

    index.php

    <?php
    echo "<h1>这里是主页</h1>";
    session_start();
    $name = $_SESSION['username'];
    if ($name) {
        echo "<script>
         alert(\"尊敬的$name ,欢迎回来!!\");
    </script>";
    }else{
        echo "<script>
        alert('您还尚未登录!请返回登录~~')
    </script>";
        echo "<a href='index.php'>如果跳转失败请点击跳转~~</a>";
        header("Refresh:1;url=login.html");
    }

    那么上述代码login.html,db.php,check.php和index.php就是一个简单的用session来实现记录用户登录信息的程序。

    我们可以通过浏览器访问进行测试,首先我们可以在login登录界面,输入用户名密码,效果如下图:

    b5a7f42c4c954a81e68cdef85f06fb6.png

    点击login登录,跳转到check.php。

    c06a1078f63bd433ecc7ff21b39ba7b.png

    点击确定

    eadf10fbadba88c36f8fa0e1d0710db.png

    如果跳转失败就点击上图中链接,如果跳转成功,则直接跳转到index.php主页面,显示如下图:

    4aca82f7f977c57f33f8861968b7af8.png

    08940cc77470e5d132bc79f8a70265f.png

    本篇文章就是关于PHP中session来实现记录用户登录信息的具体方法介绍,具有一定的参考价值,希望对需要的朋友有所帮助!

    想要了解更多的PHP知识,可以关注PHP中文网PHP视频教程,欢迎大家参考学习!

    以上就是PHP如何用session来记录用户登陆信息?(图文+视频)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP,session
    上一篇:PHP中session如何存储及删除变量的?(图文+视频) 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • php session 写入数据库,phpsession• php session实现多级目录存放实现代码,phpsession• php session的锁和并发,phpsession• php中session定期自动清理的方法,phpsession清理• php中删除、清空session的方式总结,phpsession
    1/1

    PHP中文网