`php think build admin 创建个后台模块
`
下载H-ui.admin后台 (下载的是H-ui.admin v3.1)
view模板定义常量JS/CSS/LIB
```
'tpl_replace_string' => [
'JS' => '/static/js',
'CSS' => '/static/css',
'LIB' => '/static/lib', ]
'STATIC' => '/static', ]
```
将整个H-ui的资源放入static/lib/H-ui (主要文件夹就是项目里lib与static放入H-ui里面)
所有外部资源 路径添加LIB/h-ui 完成资源引导
验证码用tp6自带的
首先使用Composer安装think-captcha扩展包
composer require topthink/think-captcha
验证码库需要开启Session才能生效。 我们自定义验证码
```
use think\captcha\facade\Captcha;
public function verify()
{
return Captcha::create();
}
```
例如项目http://www.tp6.com/admin/verify.html 就可以看到验证网页
关于验证码设置config目录下面的captcha.php文件中进行设置即可
```
// 添加额外的验证码设置
verify => [
'length'=>3,
'fontSize'=>16,
'codeSet' => '0123456789',
],
public function verify()
{
return Captcha::create('verify'); //加载配置即可
}
```
具体验证码其他配件查看tp6手册
#### **回到前端显示验证码**
```
<input class="input-text size-L" type="text" placeholder="验证码" name="code" style="width:150px;">
<img src="{:url('/admin/index/verify')}" id="verify"> <a id="kanbuq" href="javascript:;">看不清,换一张</a> </div>
```
点击看不清随机换一张写js方法
```
$(function () {
$('#kanbuq').click(function () {
$('#verify').attr('src',$('#verify').attr('src')+'?'+Math.random());
//Math.random() 数学里面的随机数函数
})
})
```
*****
下面就是做登录功能实现
#### **前端表单**
账号username 密码password 验证码code 登录状态online -----------提交给 tologin控制器处理
```
<form class="form form-horizontal" action="{:url('/admin/index/tologin')}" method="post">
<input type="checkbox" name="online" id="online" value="1">
```
index/tologin提交过来的验证信息
```
public function tologin()
{
$username =input('post.username');
$password =input('post.password');
$code =input('post.code');
$online = input('online',0);//记录保存状态 默认0不保存
if (empty($username)||empty($password)){
$this->error("用户名或者密码不能为空!",'/admin/login');die();
}
//验证码判断
// if (empty($code)){
// $this->error('验证码不能为空','/admin/login');die();
// }
// $captcha = new Captcha();
// if(!captcha_check($code))
// {
// // 验证失败
// $this->error('验证码错误!','/admin/login');die();
// }
$row = Db::name('admin')->where('username',$username)->find();
//dump($row); //可以打印看看数据 如果为空表示没有改账号信息 真下面开始校对密码
if (empty($row)){
$this->error('账号不存在!','/admin/login');
}
if($row['password']!=md5(md5($password).$row['entry'])){
$this->error('密码错误!','/admin/login');
}
echo '登录成功!';
//处理记住密码
暂时没写
// 修改登录的数据
Db::name('admin')->where('id',$row['id'])->update([
'login_time' => time(),
'login_num' => $row['login_num']+1,
'login_ip' => request()->ip(),
]);
// 产生session
session('admin',$row); // dump(session('admin'));
// 跳转页面
$this->redirect('/admin/main');
}
```
#### 跳转新的后台主页控制器
```
class Main
{
public function index(){
echo '<h1>后台主界面</h1>';
dump(session('admin'));
}
}
```
