ThinkPHP - 验证码
今天用到 ThinkPHP 框架的验证码,特来记录一下,以备不时之需。
1. 在模板页面需要显示二维码的地方添加 img 标签:
<img src="{:U('Login/verificationCode',array('rand'=>time()))}" onclick="this.src=this.src+'?'" alt="" />
说明: src 地址为后台控制器产生验证码的方法,
rand 参数可避免产出的验证码被缓存,
onclick 为点击图片刷新验证码。
后台控制器代码为:
2. 产生验证码
public function verificationCode(){ $config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 4, // 验证码位数 'fontSize' => '20px', // 验证码字体大小(像素) 默认为25 'useCurve' => false, // 是否使用混淆曲线 默认为true 'imageW' => '0',// 验证码宽度 设置为0为自动计算 'imageH' => '45px',// 验证码高度 设置为0为自动计算 'useNoise' => false, // 关闭验证码杂点 ); $Verify = new \Think\Verify($config); $Verify->entry(); }
详细验证码参数可到 ThinkPHP 手册查询,就不一一说明了。
3. 检测验证码方法
// 检测输入的验证码是否正确,$code为用户输入的验证码字符串 function check_verify($code){ $verify = new \Think\Verify(); if($verify->check($code)){ return true; // 验证码填写正确 }else{ return false; // 验证码填写错误
} }
最后,只要在提交表单后,后台控制器调用 check_verify 就可以了。(完)

浙公网安备 33010602011771号