tthinkPHP 3.2.3版本图片验证码的问题解决方法

来源:互联网 发布:java中else是什么意思 编辑:程序博客网 时间:2024/04/28 18:22
  1. 实例化Verify,生成验证码的方法
  2. public function vcode(){
  3.         ob_clean();
  4.         $Verify = new \Think\Verify();  
  5.         $Verify->fontSize = 14;  
  6.         $Verify->length   = 4;  
  7.         $Verify->useNoise = false;  
  8.         $Verify->codeSet = '0123456789';  
  9.         $Verify->imageW = 100;  
  10.         $Verify->imageH = 34;
  11.         $Verify->entry();
  12.     }
  13. ajax验证,用在输入框触发onblur时
    1. public function checkAjaxVerify(){
    2.         if(!IS_AJAX) $this->error('非法请求');
    3.             $code = I('code');
    4.             $verify = new \Think\Verify(array('reset'=>false));//加入array('reset'=>false)以便于后台再次验证
    5.         if($verify->check($code)){
    6.             echo 1;
    7.         }else{
    8.             echo 0;
    9.         }
    下面是提交表单后在控制器中的方法:
    1. public function dologin(){
    2.         if(!IS_POST){
    3.             E("页面不存在");
    4.         }
    5.         $code = I('post.logincode');
    6.         dump($code);
    7.         dump($_SESSION);
    8.         $verify = new \Think\Verify();
    9.         if(!$verify->check($code)){
    10.             $this->error('验证码错误','',15);
    11.         }
    12.         
    13.         $sdb = M('administrator');
    14.         $username = $_POST['loginid'];
    15.         $userpass =  $_POST['loginpass'];
    16.         $condition['aaccount'] = $username;
    17.         $condition['apass'] = $userpass;
    18.         $condition['arole'] = 1;
    19.         $result = $sdb->field('id,arole')->where($condition)->find();
    20.         if(!$result){
    21.             $this->error('没有这个用户','',5);
    22.         }else{
    23.         $_SESSION['userid'] = $result['id'];
    24.         $_SESSION['username'] = $username;
    25.         $_SESSION['userpass'] = $userpass;
    26.         $_SESSION['userrole'] = $result['arole'];
    27.         $this->success('登录成功',U('Index/index'),15);
    28.         }
    29.     }

    php图片验证码,为什么非要加上ob_clean();这句话才能正常显示呢?

    ob_clean这个函数的作用就是用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的图片类文件,那么想要访问正确,就要经常清除缓冲区。


0 0
原创粉丝点击