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

2024-09-01 15:58

本文主要是介绍tthinkPHP 3.2.3版本图片验证码的问题解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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


这篇关于tthinkPHP 3.2.3版本图片验证码的问题解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127394

相关文章

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Python清空Word段落样式的三种方法

《Python清空Word段落样式的三种方法》:本文主要介绍如何用python-docx库清空Word段落样式,提供三种方法:设置为Normal样式、清除直接格式、创建新Normal样式,注意需重... 目录方法一:直接设置段落样式为"Normal"方法二:清除所有直接格式设置方法三:创建新的Normal样

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

把Python列表中的元素移动到开头的三种方法

《把Python列表中的元素移动到开头的三种方法》在Python编程中,我们经常需要对列表(list)进行操作,有时,我们希望将列表中的某个元素移动到最前面,使其成为第一项,本文给大家介绍了把Pyth... 目录一、查找删除插入法1. 找到元素的索引2. 移除元素3. 插入到列表开头二、使用列表切片(Lis

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后