现在是少女时代,以后是少女时代,永远是少女时代!
sone :少时的假粉丝

tp5.1验证码配置



本网站使用了thinkpphp5.1验证码,但发现thinkpphp5.1验证码配置有问题,验证码验证信息输入正确但一直提示验证码错误、解决tp5.1验证码验证错误问题。


首先使用Composer安装think-captcha扩展包:

composer require topthink/think-captcha=2.0.*


验证码的简单用法

扩展包内定义了一些常见用法方便使用,可以满足大部分常用场景,以下示例说明。

在模版内添加验证码的显示代码

<div>{:captcha_img()}</div>

或者

<div><img src="{:captcha_src()}" alt="captcha" /></div>


上面两种的最终效果是一样的,根据需要调用即可。


然后,可以在控制器 

if(!captcha_check($captcha)){
 
 // 验证失败
 
 };


这个是 tp5.1 简单的用例


完整示例

如我的代码 

前端模板  使用 layui 

PHP 使用的是 tp5.1版本


1、HTML  模板核心代码

<div class="layui-form-item">
  <label class="layui-form-label">验证码</label>
  <div class="layui-input-inline">
    <input type="text" name="captcha"  placeholder="请输入验证码" autocomplete="off" class="layui-input">
  </div>
  <div class="layui-form-mid layui-word-aux">
    <div>
      <img id="verify_img" src="{:captcha_src()}" alt="验证码" onclick="refreshVerify()" />
      <a href="javascript:refreshVerify()">点击刷新</a>
    </div>
  </div>
</div>

2、附加 一个 刷新 验证码代码

<!--点击刷新验证码功能-->
<script>
  function refreshVerify() {
    var ts = Date.parse(new Date())/1000;
    $('#verify_img').attr("src", "/captcha");
    //$('#verify_img').attr("src", "/captcha?id="+ts);
  }
</script>


3、核心验证码配置 【解决tp5.1验证码验证错误】

在tp5.1根目录下的config配置下【注意 不是模块的config配置文件夹】

创建一个 captcha.php 【验证码类 会自动加载读取此配置】

内容为

<?php
return [
    //验证码字符集合
    'codeSet' => '2345678',
    //验证码位数
    'length'   => 4,
    //验证成功后是否重置
    'reset' => false,// 核心是这个 其他的配置 看个人是否需要  建议 可以 写上  验证码位数 测试看看 显示验证位数 是否 是 本配置文件 加载进来
    //是否画混淆曲线
    'useCurve' => false,
];

或者

<?php
return [
    //验证成功后是否重置
    'reset' => false,// 核心是这个 其他的配置 看个人是否需要  建议 可以 写上  验证码位数 测试看看 显示验证位数 是否 是 本配置文件 加载进来
];

4、控制器 验证方法内 验证码校验请求的参数是否 正确

//你的控制器 被请求节点的 方法

public function addTest(){
    
    
    $captcha = $this->request->param('captcha');
    if (empty($captcha))
    {
        $messages = "没有获取到验证码";
        return $messages;
    }
    if(!captcha_check($captcha)){
        //验证失败
        $messages = "验证码错误";
        return $messages;
    };
    return 'ok';
    
    
}


tp5.1 验证码 官方 使用、更多配置 可以 访问: https://www.kancloud.cn/manual/thinkphp5_1/354122

琼ICP备16001221号-1