首页 > PHP教程 > php开发知识文章

PHP--ThinkPHP框架生成和校验验证码

本文介绍了使用PHP--ThinkPHP框架生成和校验验证码功能,欢迎大家的学习。

Think\Verify类支持验证码的生成和验证功能,验证码显示采用了GD库支持,所以需要php环境支持GD库。

类Verity.class.php(ThinkPHP/Library/Think/Verity.class.php)中的一些函数:

check() 校验验证码是否正确

entry() 输出验证码并把验证码的值保存的session中,包含数据

array('verify_code'=>'当前验证码的值','verify_time'=>'验证码生成的时间戳')

authcode() 加密验证码(此方法在check()方法中被调用)

 

控制器生成验证码

//验证码
function verifyImg()
{

//验证码配置
$cfg = array(
'imageH' => 30, // 验证码图片高度
'imageW' => 100, // 验证码图片宽度
'fontSize' => 15, // 验证码字体大小(px)
'length' => 4, // 验证码位数
'fontttf' => '6.ttf', // 验证码字体,不设置随机获取
);

//实例化Verify类 自动调用构造函数,把$cfg信息传给$config
$verify = new Verify($cfg);
$verify->entry(); //输出验证码
}

html显示验证码

<img src="/verifyImg" onclick="this.src='/verifyImg/'+Math.random()" alt="验证码"/>

 

控制器校验验证码

//登陆
function login()
{
if (!empty($_POST)) {
$verify = new Verify();
//接收验证码
$captcha = $_POST['captcha'];
//check()方法校验验证码
if ($verify->check($captcha)) {
echo "正确";
} else {
echo "错误";
}
}
//调用view视图
$this->display();
}

以上就是本文PHP--ThinkPHP框架生成和校验验证码的全部内容,希望对大家的学习有所帮助。

PHP--ThinkPHP框架生成和校验验证码

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。