美文网首页
tp5的验证码

tp5的验证码

作者: Maiiiiiiiiiiiid | 来源:发表于2019-04-28 12:47 被阅读0次

    tp5的验证码

    [TOC]


    安装captcha:

    composer require topthink/think-captcha=1.*
    

    验证码配置

    $config =    [
        // 验证码字体大小
        'fontSize'    =>    30,    
        // 验证码位数
        'length'      =>    4,   
        // 关闭验证码杂点
        'useNoise'    =>    false, 
    ]
    

    图像的显示

    模板文件:

    <div class="validate">{:captcha_img()}</div>
    

    视图能加载类库的方法,也可以加载application里面的common.php的全局方法

    调用方法:

    {:方法名()}
    

    captcha_img()这个方法在:

    "\vendor\topthink\think-captcha\src\helper.php"
    

    使用js添加事件,使得点击一次刷新一次

    $('.validate img').click(function () {
        $(this).attr('src','./captcha.html?r='+Math.random()*5000);
    })
    

    数据的验证

    表单:

    <form action="{:url('check')}" method="post" role="form">
        <input type="text" class="form-control" name="code" id="" placeholder="Input...">
        <button type="submit" class="btn btn-primary">Submit</button>
        <div class="validate">{:captcha_img()}</div>
    </form>
    

    跳转的check方法:

    public function check($code=''){
        $captcha = new \think\captcha\Captcha();//实例化
        if($captcha->check($code)){
            return $this->success();
        }else{
            return $this->error();
        }
    }
    

    实际上每次刷新验证码都会*输出验证码并把验证码的值保存到session中,验证码保存到session的格式为: array('verify_code' => '验证码值', 'verify_time' => '验证码创建时间') 验证时从session获取值再拿来比较

    助手函数:

    https://www.kancloud.cn/manual/thinkphp5/154295

    相关文章

      网友评论

          本文标题:tp5的验证码

          本文链接:https://www.haomeiwen.com/subject/rrjdnqtx.html