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