您的位置:首页 > 编程语言 > PHP开发

thinkphp实现验证码(tp5同样可以实现)

2016-11-08 15:44 267 查看
在页面对应的控制中创建验证器方法进行验证码的输出

public function verify()
{
$Verify = new \Think\Controller\Verify();
$Verify->fontSize = 20;
$Verify->length = 6;
$Verify->useNoise = false;
$Verify->imageW = 233;
$Verify->imageH = 50;

$Verify->entry();
}

对应得页面代码<img src=”{:U(‘Admin/verify’)}” class=”verifyCode” title=”点击刷新验证码”> // src 是对应的控制器下面的验证码输出方法

// 当点击验证码时,刷新验证码(其实也就是在次去执行输出验证码的函数)

var verifyImg = $(".verifyCode");
var verifyPath = verifyImg.attr("src");
verifyImg.click(function () {
if (verifyPath.indexOf("?")>0) {
$(this).attr("src", verifyPath+'&random='+Math.random());
}else{
$(this).attr("src", verifyPath.replace(/\?.*$/,' ')+'?'+Math.random());
}});

创建对应的配置函数(公共的配置函数文件是在common下面)

function check_verify($code, $id = “”){
$verify = new \Think\Verify();
return $verify->check($code, $id);
}

控制器对验证码进行验证(由于我们在上面一步的公共函数文件中配置了对验证码验证的函数,我们此时可以直接在控制器中使用)
$data[‘admin_verify’] = I(‘post.admin_verify’);// 接收页面传入的填写的验证码值
if (check_verify($data[‘admin_verify’])) {
$this->error(“验证码不正确”, U(“login”), 3);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: