ThinkPHP如何实现生成和校验验证码?本文主要为大家详细介绍了ThinkPHP实现生成和校验验证码功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。希望对大家有所帮助。
使用ThinkPHP实现生成/校验验证码功能,供大家参考,具体内容如下
首先了解父类Verity.class.php(ThinkPHP/Library/Think/Verity.class.php)中的一些函数
1:check() 校验验证码是否正确
2:entry()输出验证码并把验证码的值保存的session中
3:authcode() 加密验证码(此方法在check()方法中被调用)
控制器生成验证码代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | function verifyImg(){
$cfg = array (
'imageH' => 30,
'imageW' => 100,
'fontSize' => 15,
'length' => 4,
'fontttf' => '4.ttf',
);
$verify = new Verify( $cfg );
$verify -> entry();
}
|
Salin selepas log masuk
前台显示验证码
1 2 | <!--分组/控制器/方法-->
<img src= "<{$smarty.const.__CONTROLLER__}>/verifyImg" onclick = "this.src='<{$smarty.const.__CONTROLLER__}>/verifyImg/'+Math.random()" alt= "验证码" />
|
Salin selepas log masuk
控制器校验验证码(以登陆为例)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function login(){
if (! empty ( $_POST )) {
$verify = new Verify();
$captcha = $_POST ['captcha'];
if ( $verify ->check( $captcha )) {
echo "正确" ;
} else {
echo "错误" ;
}
}
$this ->display();
}
|
Salin selepas log masuk
相关推荐:
详解PHP如何生成有时效性的密文
详解PHP如何将文本中的全角符号转为半角
详解PHP如何获取音频文件时长
Atas ialah kandungan terperinci 详解ThinkPHP如何实现生成和校验验证码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!