ThinkPHP实现简单登陆功能

时间:2022-10-26 11:52:26

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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()方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$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 "用户名或密码错误";
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。