不言不语

您现在的位置是: 首页 >  PHP  >  ThinkPHP

ThinkPHP

【thinkphp】之管理员登录 (layui)

2020-06-15ThinkPHP
tp框架管理员登录

1.先设置token


防止跨站脚本攻击


image.png



html:layui发异步


    <script>

        $(function  () {

            layui.use('form', function(){

              var form = layui.form;

  

       form.verify({

                    usern1ame: function(value) {

                        if (value.length < 5) {

                            return '用户名至少大于5个字符啊';

                        }

                    },

             

     password: function(value) {

                        if (value.length < 5) {

                            return '密码至少大于6个字符啊';

                        }

                    },


 

                });



              form.on('submit(login)', function(data){

                   //发异步,把数据提交给php

              $.post("{:url('/admin/login')}",data.field,function(res){//回调,返回成功或者失败的状态

                if(res.status=='success'){

                    layer.alert(res.msg, {icon:6},function () {

                        location.href="{:url('/admin/index')}";

                    });

                }else{

                    layer.msg(res.msg);

                }

              },'json');

                return false;

              });

            });

        })

    </script>



2.验证验证码和token


//获取验证码和token

$data=$request->only(['code','__token__']);//获取验证码和token字段

$validate=new Validate;//引入验证类

$rule=['code|验证码'=>'captcha|token'];

if(!$validate->check($data,$rule)){

return json(['status'=>'fail','msg'=>$validate->getError()]);

}

3.开始登录


控制器:

         $username=$request->param('username','trim');

$password=$request->param('password','trim');

$AdministratorModel=new AdministratorModel();//实例化模型

        $res=$AdministratorModel->checkAdmin($username,$password);


模型:


 public  function checkAdmin($username,$password){

   

  //查询有没有这个用户名

   $user=$this->where('username',$username)->find();

   if(!$user){  

return (['status'=>'fail','msg'=>'用户名不存在']); 

   }else{ 

$pass=md5($password.$user['salt']);

if($pass==$user['password']) {

 

     session('username',$username);//保存登录状态

              session('id',$user['id']);


return (['status'=>'success','msg'=>'登录成功']);

 

  }else{

  

return (['status'=>'fail','msg'=>'密码输入错误']);

}

   

   }


完整代码:


hml


ZU}ZSRXHC$@M[UFK()14A6T.png


控制器:


$~Z(~_45JV96}{09CLTUQ9S.png


模型:


C6%K{PY@WX]QE%IO[`_AHPF.png


文章评论