网站地图    收藏   

主页 > 后端 > ecshop教程 >

ecshop验证码不显示解决办法

来源:未知    时间:2014-12-30 16:02 作者:xxadmin 阅读:

[导读] 我在安装好ecshop之后所有前台的证码不显示,后台又可以显示了,后来搜索了一些解决办法分享给各位朋友有需要的可参考. 可以在后台有,前台不显示,打开includes/init.php文件,将如下这段代...

我在安装好ecshop之后所有前台的证码不显示,后台又可以显示了,后来搜索了一些解决办法分享给各位朋友有需要的可参考.

可以在后台有,前台不显示,打开includes/init.php文件,将如下这段代码屏蔽即可.

  1. /* 判断是否支持 Gzip 模式 */ 
  2. if (!defined(‘INIT_NO_SMARTY’) && gzip_enabled()){ 
  3. ob_start(‘ob_gzhandler’); 
  4. }else{//开源软件:phpfensi.com 
  5. ob_start(); 

产生原因:

因为在php中的path路径可能没了 ./ 的当前路径,找不到验证码的图片.

解决方案:

修改 captcha.php 的第22行,代码如下:

  1. $img = new captcha('data/captcha/'$_CFG['captcha_width'], $_CFG['captcha_height']); 
  2. //改为: 
  3. $img = new captcha(ROOT_PATH . 'data/captcha/'$_CFG['captcha_width'], $_CFG['captcha_height']); 

编码原因:

修改了某些utf-8文件,结果保存成 utf-8+ 也就是传说中的 utf-8 with bom

解决方法,找到对应文件,应 editplus 重新保存成 utf-8 无bom.

BUG原因:

变量命名重复了,至于是哪个变量名重复了,请看解决办法就知道了.

解决办法:

1、打开 /includes/lib_insert.php 文件,先定位到 insert_comments 函数部分,然后找到 insert_comments 函数里面的如下代码:

$GLOBALS['smarty']->assign('enabled_captcha', 1);

将之修改为如下代码:

$GLOBALS['smarty']->assign('enabled_captcha_comments', 1);

注意,千万别找错了,这个文件里有两处这样的代码.

2、然后继续 修改 /themes/default/library/comments.lbi 文件将如下代码:

<!-- 判断是否启用验证码{if $enabled_captcha} -->

修改为如下代码:

<!-- 判断是否启用验证码{if $enabled_captcha_comments} -->

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论