ecshop验证码显示不了怎么办?

相信大家在使用ecshop模板的时候,很多朋友都会遇到验证码显示不了的问题,特别是做了ecshop二次开发的模板,更容易出现这样的问题,下面最源码来分享一下各种情况的解决办法。

1、(从ECSHOP论坛搜集到的解决方法)

a)、错误原因:

PHP 类,有两种构造函数,一种是跟类同名的函数,一种是 __c**truct()。从PHP5.4开始,对这两个函数出现的顺序做了最严格的定义,必须是 __c**truct() 在前,同名函数在后

b)、解决方法:

调换一下两个函数的前后位置即可。

以 includes/modules/payment/alipay.php  为例:

将下面这两个函数的位置互换一下就OK了,__c**truct()在前,alipay()在后

2、没有设置显示的解决办法

ecshop对应页面的验证码需要后台设置了显示,前台才能显示出来,具体操作步骤,登录后台,在系统设置-验证码管理里面,把需要显示验证码的页面选择上提交修改就行。

3、设置了,但是显示不了,显示的是一个红叉叉

(1)后台登录页面和前台评论、留言、注册等页面都不显示

这种情况首先排除空间权限和设置问题(不会查看的可以联系空间商处理),如果没有问题,那么用ECSHOP默认的captcha.php页面替换网站根目录下的页面,如果还是不行,请修改includes目录下的init.php代码

if (!defined('INIT_NO_SMARTY') && gzip_enabled())

{

ob_start('ob_gzhandler');

}

else

{

ob_start();

}

把上面这段代码注释掉,然后在后台清除一下网站缓存。

(2)如果后台登录页面的验证码可以显示,只是前台的不能显示

这种情况一般都是网站做了ecshop二次开发造成的,先用ecshop默认语言包里面的common.php文件覆盖网站的(对应目录是languages/zh_cn),记得先备份自己的一份哦,如果还没有好,那么再把includes目录下的lib_goods.php、lib_order.php、lib_common.php、lib_main.php、lib_insert.php等可能修改过的文件用默认的替换一下,一般只要覆盖了修改过并且存在错误的文件,验证码就会显示正常了,正常过后,再逐步确定到是哪一个文件有错,把错误代码找到,恢复了就行了。

(以上操作过程中,如果你网站有修改过对应文件,覆盖前一定记得备份)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Longsir_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值