tp5的验证码

2019-04-28  本文已影响0人  Maiiiiiiiiiiiid

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

上一篇下一篇

猜你喜欢

热点阅读