您现在的位置是:首页> 网站开发> ThinkPHP
TP5验证码实现教程
- 4732人已阅读
- 时间:2018-10-16 08:58:22
- 分类:ThinkPHP
TP作为国内的知名框架,功能还是很全面的.
验证码功能当然也不在话下.下面让祥哥带大家看看怎么使用.
前题是我们必须要安装验证码扩展包.如果下载的完整版是带这个扩展包的.
使用Composer安装think-captcha扩展包:
composer require topthink/think-captcha
2.在模板中显示的方法
<div>{:captcha_img()}</div>
或
<div><img src="{:captcha_src()}" alt="captcha" /></div>
上面的效果是一样的.引入完验证码有显示了.我们加个点击事件,让点击验证码自动更换功能.
<img style="float:left; cursor:pointer;" src="{:captcha_src()}" alt="captcha" onclick="this.src='{:captcha_src()}?'+Math.random()" />
验证码引用,我们可以对验证码进行配置.
参数 | 描述 | 默认 |
---|---|---|
codeSet | 验证码字符集合 | 略 |
expire | 验证码过期时间(s) | 1800 |
useZh | 使用中文验证码 | false |
zhSet | 中文验证码字符串 | 略 |
useImgBg | 使用背景图片 | false |
fontSize | 验证码字体大小(px) | 25 |
useCurve | 是否画混淆曲线 | true |
useNoise | 是否添加杂点 | true |
imageH | 验证码图片高度,设置为0为自动计算 | 0 |
imageW | 验证码图片宽度,设置为0为自动计算 | 0 |
length | 验证码位数 | 5 |
fontttf | 验证码字体,不设置是随机获取 | 空 |
bg | 背景颜色 | [243, 251, 254] |
reset | 验证成功后是否重置 | true |
根据自己的需求配置,添加在项目的配置文件中例如这是中文的
//验证码配置 'captcha' => [ //使用中文验证码 'useZh' => true, // 字体大小 'fontSize' => 16, // 验证码长度(位数) 'length' => 3, //验证码字符集合 'zhSet' => '我人有的和主产不为这工要在地一上是中国同经以发了民多从朋折笔方立水炎之式林大寺五止昌吕男册忆子妇双比', //验证码高 'imageH' => 35, //验证码宽 'imageW' => 130, //是否添加杂点 'useNoise' => true, ],
这是英文的
//验证码配置 'captcha' => [ // 字体大小 'fontSize' => 18, // 验证码长度(位数) 'length' => 4, //验证码字符集合 'codeSet' => '234567890qwertyuiopasdfghjklnmbvcxz', //验证码高 'imageH' => 35, //验证码宽 'imageW' => 130, //是否添加杂点 'useNoise' => true, ],
最后就是验证码验证了
//验证码验证 $captcha = new \think\captcha\Captcha(); if (!$captcha->check($data['code'])) { return 3; die; //验证码错误 }
这是手动验证也可以用验证规则实现
$this->validate($data,[ 'captcha|验证码'=>'require|captcha' ]);
动手试一下吧.
下一篇:TP5验证器使用实例