思路:前台输入账号密码,后台自定义一个函数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 ModelManagerModel(); $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 "用户名或密码错误"; }