PHP技术论坛

标题: Thinkphp中验证码不显示解决办法 [打印本页]

作者: admin    时间: 2016-6-28 11:12
标题: Thinkphp中验证码不显示解决办法

  1. 验证码不显示根据我php经验分析
  2. 、先确保是否开启了 gd库
  3. 2、页面是否存在bom头
  4. 3、导入的ORG.Util.Image是否存在
  5. 4、入口文件中是否有define(‘APP_DEBUG’, TRUE); //是否开启调试模式,上线时请改为false ?这句(注:很关键作者就犯了这个错误折腾了老半天才找到)。
  6. 后来到了官方
  7. 根据这里的入门教程,我都检查了,GD是开着的,2.Image类库以及String类库导入也正确,通过output($im, $type='png', $filename='c:\verify.png') 这里给filename赋值后在C盘下是有verify.png图片保存,图片也正常显示,那就是3.验证码输出之前是否有任何的其他输出了,我把相关的页面都使用dreamware打开查看过,也都是正常了吧,可现在就是网页上验证码还是红叉叉
  8. 官方说
  9. title="{$Think.lang.refresh_verify_code}" class="verify_img" src="{:U('logo/code', array('t'=>time()))}" /> code方法就返回的是这个img对象 的数据流,会自动解析出来图片的,但此方法还是解决不了我的问题。
  10. 后来再接着百度,找到一文章
  11. ThinkPHP自带验证码的函数类,存放路径为:ThinkPHP/Lib/ORG/Util/验证码类

  12. 使用的时候只需在Index控制器中引入,方法如下:
  13. 代码如下        复制代码

  14.     public function verify() {

  15.         import ( "ORG.Util.Image" );

  16.         Image::buildImageVerify ( 4 );

  17.     }

  18. 在模板页面中调用方法如下:
  19. 代码如下        复制代码

  20. <img id="verifyImg" src="/Wen/verify/"  />



  21. if ($_SESSION['verify'] != md5($_POST['verify'])){

  22.             $this->error('验证码错误!');

  23. }

  24. Thinkphp验证码不显示图片最后发现时由于编码问题引起的,格式转换无UTF-8无DOM时,久违的验证码终于出现了。
复制代码





欢迎光临 PHP技术论坛 (http://php.hh85.com/) Powered by Discuz! X3.2