首页 > 代码库 > 使用thinkphp3.2中的验证码功能

使用thinkphp3.2中的验证码功能

 

为了网站的安全性,使用验证码技术是比较常见的,今天按照thinkphp3.2完全开发手册的例子试了一下(地址http://document.thinkphp.cn/manual_3_2.html#verify),总是报错,没法显示验证码,原因原来是在PHP.INI文件中没有打开GD库。

 

只要将配置文件PHP.INI中的extension=php_gd2.dll注释去掉就可以了(php_gd2.dll   GD 库图像函数库 GD2

生成验证码

     public function code()
{
    $Verify = new Verify();
    $Verify->fontSize = 20;
    $Verify->length   = 4;
    $Verify->useNoise = false;
    $Verify->entry();
}

登录校验

function do_login(){
            //获取用户名和密码等。和数据库中比对,有该用户允许登录否则输出错误页面
            $username=$_POST[‘username‘];
            $password=$_POST[‘password‘];
            $code=$_POST[‘code‘];
            $verify = new \Think\Verify();
            $r=$verify->check($code, ‘‘);
            if(!$r){
                $this->error(‘验证码错误!‘);
            }
            $m=M(‘User‘);
            $where[‘username‘]=$username;
            $where[‘password‘]=$password;
            $i=$m->where($where)->count();
            if($i>0){
                $this->redirect(‘User/index‘);
            }else{
                $this->error(‘该用户不存在‘);
            }
        }