thinkphp框架自带了验证码的功能,利用手册可以轻松做出图片验证码
html
<li >
<span><input name="verify" type="text" placeholder="请输入验证码"/></span>
<cite>
<img src="{:U('Index/verify')}" class="chk_code_img" style="cursor: pointer;height: 44px;width: 112px;position: relative;top:1px;left: 0px;" onclick="changeVerify()" />
<script>
function changeVerify(){
$(".chk_code_img").attr("src", "{:U('Index/verify')}");
}
</script>
</cite>
</li>
php
/**
* 验证码生成
*/
public function verify(){
$Verify = new \Think\Verify();
$Verify->fontSize = 16;
$Verify->length = 4;
$Verify->useNoise = false;
$Verify->useCurve = false;
$Verify->useNoise = false;
$Verify->codeSet = '0123456789';
$Verify->imageW = 114;
$Verify->imageH = 46;
$Verify->entry();
}
/**
* 验证码检查
*/
public function check_verify($code, $id = ""){
$verify = new \Think\Verify();
return $verify->check($code, $id);
}
生成的验证码信息会保存到session中,包含的数据有:
array('verify_code'=>'当前验证码的值','verify_time'=>'验证码生成的时间戳')
验证的时候只需要用check_verify()这个方法判断就OK了
$verify = I('post.verify');
if(!$this->check_verify($verify)){
$this->error("亲,验证码输错了哦!");
}
这样就是利用thinkphp自带的验证来进行图片验证码功能的实现。·
网友评论