ecshop验证码不显示解决办法
2016-06-18来源:易贤网

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

代码如下:

/* 判断是否支持 gzip 模式 */

if (!defined(‘init_no_smarty’) && gzip_enabled()){

ob_start(‘ob_gzhandler’);

}else{

ob_start();

}

产生原因:

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

解决方案:

修改 captcha.php 的第22行

代码如下:

$img = new captcha('data/captcha/', $_cfg['captcha_width'], $_cfg['captcha_height']);

改为:

$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} -->

推荐信息