<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;">1、首先需要导入ThinkPHP的扩展类库(放入 项目名\ThinkPHP\Extend 目录中去)</span>
2、因为验证码在项目的很多地方都会用到,所以直接新建一个公共的控制器类,并在里面写一个方法
Public function verify(){
import('ORG.Util.Image');
Image::buildImageVerify();
}
buildImageVerify 生成图像验证码 | ||
---|---|---|
用法 | buildImageVerify($length,$mode,$type,$width,$height,$verifyName) | |
用法 | length | 验证码的长度,默认为4位数 |
model | 验证字符串的类型,默认为数字,其他支持类型有0 字母 1 数字 2 大写字母 3 小写字母 4中文 5混合 | |
type | 验证码的图片类型,默认为png | |
width | 验证码的宽度,默认会自动根据验证码长度自动计算 | |
height | 验证码的高度,默认为22 | |
verifyName | 验证码的SESSION记录名称,默认为verify |
<img src='__APP__/Public/verify/' />
注
1、每次生成验证码的时候,就会通过SESSION记录本次的验证码的md5后的字符串信息,所以,要检查验证码是否正确,我们只需要在Action中使用下面的代码就行了:
if($_SESSION['verify'] != md5($_POST['verify'])) {
$this->error('验证码错误!');
}
2、验证码点击更换
在里面添加一个事件
<img src="__APP__/Public/code" οnclick='this.src=this.src+"?"+Math.random()'/>