ThinkPHP实现登陆功能

Posted 下页、再停留

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP实现登陆功能相关的知识,希望对你有一定的参考价值。

思路:前台输入账号密码,后台自定义一个函数checkNamePwd()用于验证账号密码正确与否,在控制器里调用,其中,checkNamePwd()方法验证账号密码正确性是首先通过账号查找密码,然后把查找出来的密码和用户输入的密码比较,相同则登陆成功,否则登录失败!

首先在模型类定义一个函数checkNamePwd()

public function checkNamePwd($name,$pwd)
    {
        
        //①先根据$name查询是否存在指定名字的记录
        //通过$name查找整条记录
        $res = $this->where("mg_name=‘$name‘")->find();
        if ($res) {
            
            //②把查询到的记录的密码与用户输入的密码比较
            if ($res[‘mg_pwd‘]===$pwd) {
                return $res;
            }
        }else{
            return null;
        }
    }

控制器接收用户输入的信息并调用checkNamePwd()方法

$manager = new \Model\ManagerModel();
$name = $_POST[‘admin_user‘];
$pwd = $_POST[‘admin_psd‘];
//验证成功返回整条记录,否则返回null
$info = $manager->checkNamePwd($name,$pwd);
        
if ($info) {
            
//验证成功,给用户信息session持久化操作(name,id)
session(‘admin_id‘,$info[‘mg_id‘]);
session(‘admin_name‘,$info[‘mg_name‘]);
            
//跳转后台首页
 $this->redirect(‘Index/index‘);
 }else{
    echo "用户名或密码错误";
}

 

以上是关于ThinkPHP实现登陆功能的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP邮箱验证

ThinkPHP登陆注册

登陆注册

[作业管理系统开发实战三 ]用户登陆模块的后端代码(thinkphp5)

邓_ ThinkPhp

ThinkPHP如何实现定时间内无需重复登陆