[thinkPHP5项目实战_22]管理员登录
文章 1624 0 0 0
发布时间:2019年12月28日

概述

管理员登录就是根据用户输入的信息对数据库进行比对返回处理结果

数据库连接处理放在模型model中

新建登录对应的控制器文件controller/Login.php,模型文件model/Login.php,视图view/Login/login.html

1.模型

模型用于接收从控制器传过来的数据进行处理

<?php
namespace app\admin\model;
use think\Model;
class Login extends Model
{
    //登录数据处理函数
    //获取控制器传过来的登录名和密码,根据登录名在数据库中获取密码
    //若密码一样则给控制器返回1,若密码存在但是不一样返回2,或密码不存在,返回3
    public function login($username,$password){
        $admin = \think\DB::name('admin')->where('username','=',$username)->find();
        if($admin){
            if($admin['password'] === md5($password)){
                return 1;
            }else{
                return 2;
            }
        }else{
            return 3;
        }
    }
}
?>

2.控制器

返回视图模板,并引入模型获取处理数据的结果返回给视图

<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\Login as Log;//引入登录模型重命名防止与类名冲突
class Login extends Controller
{
    public function login()
    {
        if(request()->isPost()){
            $login=new Log;//实例化模型
            $status = $login->login(input('username'),input('password'));//调用模型方法进行数据库核对
            //根据模型返回的结果进行判断
            if($status === 1){
                return $this->success('登录成功,正在跳转','Index/index');
            }elseif ($status === 2) {
                return $this->error('账号或密码错误');
            }else{
                return $this->error('用户不存在');
            }
        }
        return $this->fetch('login');
    }
}

3.视图

<form action="" method="post">
    <ul class="admin_items">
        <li>
            <label for="user">用户名:</label>
            <input type="text" name="username" value="" id="user" size="35" class="admin_input_style" />
        </li>
        <li>
            <label for="pwd">密码:</label>
            <input type="password" name="password" value="" id="pwd" size="35" class="admin_input_style" />
        </li>
        <li>
            <input type="submit" tabindex="3" value="提交" class="btn btn-primary" />
        </li>
    </ul>
</form>

[thinkPHP5项目实战_22]管理员登录

评论专区
Q群
Q群
Q群
反馈
纠错