php通过session来实现登录验证

1,546 阅读1分钟

1、概述

做一个内部统计管理系统,所有内容需要登录后才能查看。这就需要系统内部每个模块都有登录验证的功能。找了一圈资料,决定用session来做。

2、系统概况

后端语言:php(用的是原生php,未引入框架)

前端样式:Bootstrap

主要功能:基本的管理员功能,普通用户需要通过管理员来统一管理。普通用户可以查看统计数据,管理员用户只能登入管理员中心管理用户。

3、session使用

a、登录成功后需要创建和记录session

<?php

    require "../DB/MySQLHelper.php";
    require "../BLL/UserBLL.php";
    $result = -1;
    if(count($_POST)!=2)
    {
        echo $result;
        return;
    }
    $name = $_POST["name"];
    $password = $_POST["password"];

    $helper = new MySQLHelper();
    $helper->InitMySQL();
    $level = SelectUserLevel($helper,$name,$password);
    if($level != -1)
    {
        $result = $level;
        session_start();
        $_SESSION["user"] = true;
        $_SESSION["name"]=$name;
        $_SESSION["pwd"]=$password;
    }
    echo $result;
?>

b、其他功能模块使用session的具体方法,写了一个通用的php,其他模块在调用前先调用该php判断是否登录。

<?php
    $user = false;
    session_start();
    //  判断是否登陆
    if (isset($_SESSION["user"]) && $_SESSION["user"] === true) {
        echo "true";
    } 
    else {
        $_SESSION["user"] = false;
        echo "false";
    }

?>

4、总结

系统整体功能比较简单,主要就是熟悉登录整个流程。



attachments-2020-06-ltTKzDXn5ed498ec990df.jpg