A-A+
thinkphp 自带验证码的简单使用
在TP的项目中要加一个验证码的验证,TP自带有验证码的功能,我们仅需要调用一下就可以了,不用自己去写一大堆的代码,我们直接在C层生成就可以了,当然放在 D 层也是可以的,代码不多,我就直接放在 C 控制器层了,如下代码:
- /**
- * 获取验证码
- */
- public function get_verify(){
- ob_clean();
- $Verify = new \Think\Verify();
- $Verify->length = 4;
- $Verify->codeSet = '0123456789';
- $Verify->useCurve = false;
- $Verify->useNoise = false;
- $Verify->fontSize = 40;
- $Verify->expire = 60;
- return $Verify->entry();
- }
关于 ob_clean(); 主要是为了防止验证码乱码和输出不显示的问题,关于配置文件,直接在代码里面配置就可以了,如下:
- $Verify->length = 4;
- $Verify->codeSet = '0123456789';
- $Verify->useCurve = false;
- $Verify->useNoise = false;
- $Verify->fontSize = 40;
- $Verify->expire = 60;
可以参考TP官网进行配置,设置好之后,最后进行 return 返回即可,在模板层调用的代码如下:
- <input type="text" name="txyzm" placeholder="请填写验证码"></label><img onclick="this.src='{:U('Home/User/get_verify')}?'+Math.random()" src="{:U('Home/User/get_verify')}"><text>点击图形验证码刷新</text>
其中 {:U('Home/User/get_verify')} 是 C 控制层中的代码。如果要更换验证码,只需要点击验证码图形就可以了,在模板层填写验证码,验证的控制端就更容易了,如下:
- //验证图片验证码
- $txyzm = $data['txyzm'];
- if(emptyempty($txyzm)) \Helper_Tool::stop(-1, '图形验证码不能为空');
- $verify = new \Think\Verify();
- if(!$verify->check($txyzm)) \Helper_Tool::stop(-2, '图形验证码错误');
两层的验证,一个验证码不能为空,一个验证图形码是否正确,OK,到此 TP 验证码完成。
我这里写的比较笼统了,因为我做的项目偶尔用一下,不会大用,如果是常用的话,就需要将 TP 图形验证码的配置进行合理的封装。
目前看不懂^-^,用的什么语言写的?
用的是PHP语言