ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] ## 一、配置文件 ### 1、文件位置 \application\config.php ### 2、代码设置 ~~~ // 验证码配置 'captcha' => [ // 验证码的字符集 'codeSet' => '23456789abcdefhijkmnpqrstuvwxyzABCDEFHJKMNPQRSTUVWXYZ', // 设置验证码字体大小 'fontSize' => 18, // 添加混淆曲线 'useCurve' => false, // 设置图片的高度、宽度 'imageW' => 150, 'imageH' => 35, // 验证码位数 'length' =>4, // 验证成功后重置 'reset' =>true ], ~~~ ## 二、 验证码调用 ~~~ <div class="layui-form-item"> <label class="layui-form-label">验证码</label> <div class="layui-input-inline"> <input type="text" id="verifycode" class="layui-input"> </div> <img src="{:captcha_src()}" id="img" onclick="reloadImg()"> </div> ~~~ ## 三、重新生成验证码 ~~~ <script type="text/javascript"> layui.use(['layer'],function(){ $ = layui.jquery; layer = layui.layer; // 用户名控件获取焦点 $('#username').focus(); // 回车登录 $('input').keydown(function(e){ if(e.keyCode == 13){ dologin(); } }); }); // 重新生成验证码 function reloadImg(){ $('#img').attr('src','{:captcha_src()}?rand='+Math.random()); } // 登录 function dologin(){ var username = $.trim($('#username').val()); var pwd = $.trim($('#password').val()); var verifycode = $.trim($('#verifycode').val()); if(username == ''){ layer.alert('请输入用户名',{icon:2}); return; } if(pwd == ''){ layer.alert('请输入密码',{icon:2}); return; } if(verifycode==''){ layer.alert('请输入验证码',{icon:2}); return; } $.post('/admins.php/admins/Account/dologin',{'username':username,'pwd':pwd,'verifycode':verifycode},function(res){ if(res.code>0){ reloadImg(); layer.alert(res.msg,{icon:2}); }else{ layer.msg(res.msg); setTimeout(function(){window.location.href = '/admins.php/admins/Home/index'},1000); } },'json'); } </script> ~~~ ## 四、后台处理 ~~~ // 管理员登录 public function dologin(){ $username = trim(input('post.username')); $pwd = trim(input('post.pwd')); $verifycode = trim(input('post.verifycode')); if($username == ''){ exit(json_encode(array('code'=>1,'msg'=>'用户名不能为空'))); } if($pwd == ''){ exit(json_encode(array('code'=>1,'msg'=>'密码不能为空'))); } if($verifycode == ''){ exit(json_encode(array('code'=>1,'msg'=>'请输入验证码'))); } // 验证验证码 if(!captcha_check($verifycode)){ exit(json_encode(array('code'=>1,'msg'=>'验证码错误'))); } // 验证用户 $this->db = new Sysdb; $admin = $this->db->table('admins')->where(array('username'=>$username))->item(); if(!$admin){ exit(json_encode(array('code'=>1,'msg'=>'用户不存在'))); } if(md5($admin['username'].$pwd) != $admin['password']){ exit(json_encode(array('code'=>1,'msg'=>'密码错误'))); } if($admin['status'] == 1){ exit(json_encode(array('code'=>1,'msg'=>'用户已被禁用'))); } // 设置用户session session('admin',$admin); exit(json_encode(array('code'=>0,'msg'=>'登录成功'))); } ~~~