Thinkphp6学习(2)验证码的实现与检
一.安装think-captcha扩展包
首先使用Composer安装think-captcha扩展包:
composer require topthink/think-captcha
二.开启Session
验证码库需要开启Session才能生效
在app目录下有一个文件middleware.php,把“\think\middleware\SessionInit::class”的注释去掉就行了
三.控制器中的代码要先use以下的类
<?php
……
use think\captcha\facade\Captcha;
use think\facade\Session;
use think\middleware\SessionInit;
……
才能正确使用
四、下面是在视图中使用的代码
<div>{:captcha_img()}</div>
显示如下,点击可以刷新
五。接下来要点击提交到后台进行检验啦
1.前台:加上提交的地址与方法
<form class="layui-form" action="{:url('capchick')}" method="post" >
2.后台进行检测代码
六、效果:
(1)
(2)
下面是所有的代码
最后是所有的代码
控制器的php代码
<?php
namespace app\controller;
use app\BaseController;
use think\facade\Db;
use think\facade\View;
use think\captcha\facade\Captcha;
use think\facade\Session;
use think\middleware\SessionInit;
use think\facade\Request;
class Captest extends BaseController
{
public function index()
{
return View::fetch();
}
public function capchick()
{
$data = Request::param();
//dump($data);
if(captcha_check($data['vcode'])){
echo "验证码正确";
}else{
echo "验证码错误";
};
}
}
前端的代码html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" type="text/css" href="/static/layui/css/layui.css">
<!-- <script type="text/javascript" src="/static/layui/jquery-3.4.1.min.js"></script> -->
<script type="text/javascript" src="/static/layui/layui.js"></script>
</head>
<body>
<div>
<h1 >验证码测试</h1>
</div>
<form class="layui-form" action="{:url('capchick')}" method="post" >
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">验证码</label>
<div class="layui-input-inline">
<input type="text" name="vcode" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div width="120" height="50"> {:captcha_img()}</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</body>
</html>
===今天学习到此===