首页 > 代码库 > ThinkPHP实现登陆功能

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实现登陆功能