香港独立IP空间
香港php空间
美国php空间
域名注册

今天小编再次遇到了关于Ecshop程序的另一个升级后的Bug,当会员在网站注册了一个会员,也提示注册成功了。但是当在网站输入注册的用户名密码成功登陆后有的时候却很奇怪,登陆后的会员名会出现乱码的现象,那么这究竟是什么原因导致的呢?小编开始也是百思不得其解呀,也排除了无忧主机php空间的问题,无奈之下小编登陆了Ecshop的官网翻阅了一些资料对比之下发现了果然是升级后才会有的Bug,之前的版本2.7.2是不会出现类似的问题的,就是升级到了2.7.3版本之后才会出现的问题呢。关于官网说的是覆盖升级文件说的比较模糊,看了也是让人无从下手呢。那么该如何才能有效的阻止下次再遇到类似的问题呢?小编开始登陆了phpmyadmin查看了数据库里面的会员信息是不是乱码的,经查阅后发现数据库里面的会员用户名也是乱码的了。那么是什么原因导致写入数据库的也会乱码呢?原来为了防止Sql注入,在会员提交的注册的那一刻是经过了一个函数htmlentities过滤的了。而正是此过滤函数导致在Ecshop升级后不兼容导致了乱码现象了。已经知道了原因解决就简单多了,小编来说下解决的方法吧。
第一步:首先找到/includes/lib_passport.php第173行代码

$other[$key] = htmlentities(trim($val));

替换为:

$other[$key] = htmlspecialchars(trim($val));

如果没有bug的此行代码和小编改过的相同就说明该程序的版本是2.7.2的不需要修改了。
第二步:按照目录找到/includes/lib_transaction.php文件在大概85行代码

$profile['other'][$key] = htmlentities(trim($val));

修改为:

$profile['other'][$key] = htmlspecialchars(trim($val));

改好了这两个文件然后传到根目录下覆盖就可以了。小编在此提示下如果是2.7.2的老版本是不需要改的,一般出现问题的都是从网站的后台升级到2.7.3的版本才会出现这样的bug呢。所以站长朋友们平时遇到的时候多注意下也就解决了哦。

无忧主机相关文章推荐阅读:

ECSHOP后台如何批量处理图片

ECSHOP后台如何将商品批量导出

如何有效调整ECSHOP首页FLASH播放器的速度

ECSHOP程序如何在网站后台修改商品名称的长度

本文地址:http://www.51php.com/ecshop/18020.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档