thinkphp版本
5.0.24
安装验证码库
composer require topthink/think-captcha=1.0.8
captcha_img()方法修改 vendor\topthink\think-captcha\src\helper.php
function captcha_img($id = '')
{
//return '<img src="' . captcha_src($id) . '" alt="captcha" />';
$js_src = "this.src='".captcha_src()."'";
return '<img src="' . captcha_src($id) . '" title="点击更新验证码" alt="点击更新验证码" onclick="'.$js_src.'" />';
}
config.php添加验证码配置
//验证码
'captcha' =>[
//验证码的字符集
'codeSet' => '123456798',
//设置字体大小
'fontSize' => 18,
//添加混淆曲线
'useCurve' => true,
//设置图片宽高
'imagew' => 150,
'imageH' => 35,
//位数
'length' => 4,
//验证成功重置
'reset' => true,
],
控制器 application/index/controller/index.php
<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function index()
{
return view('index');
}
//验证
public function captcha(){
if(request()->isPost()){
$data = input('post.');
if(!captcha_check($data['verifyCode'])) {
// 校验失败
$this->error('验证码不正确');
}else{
$this->success('验证码正确');
}
}
}
}
视图 application/view/index/index.php
<form method="post" action="{:url('captcha')}">
<input type="text" name="verifyCode" class="layui-input">
<!-- <img src="{:captcha_src()}"> -->
<div>{:captcha_img()}</div>
<button type="submit">提交</button>
</form>
测试
http://www.tp5.com/index.php/index/index/index