进入银行,放入家族部分,输入数量放入家族,无任何提示,刷新页面后,金钱数量减少。这个问题,该如何解决呢?

用HTTPFOX查看封包,xml是正常的,但是为何没有提示呢?

根据之前百宝箱无提示的经验,检查位于core目录下的bank.php文件,发现文件底部有额外的空行。删除掉保存。刷新银行,存钱,依然没有提示。

右键赠送,查看元素,发现是通过onclick属性调用的js,根据之前的经验,js的都是ajax的,定位到core目录中的ajax目录的bank.php文件,看了下源码,也没有问题啊?

既然php都正常,那就检查js好了。访问core目录下的js目录的bank.js。阅读源码,第二行代码就有问题了,怎么是UTF-8呢,应该是GBK才对。改成gbk,保存js。
估计修改者转码没有处理干净,所以祭出dreamweaver,批量把utf-8替换为gbk,修改了6个文件。
替换utf-8到gbk示例

刷新银行,再次存钱。F。。。还是没有提示……奇怪……

不对,问题肯定还是出在php文件上了,仔细看银行页面发现金钱部分是空的。难道是这里导致的问题?再回头查看了之前抓的封包,xml中的moneycredits格式不对啊这,果然是这里的问题。
moneycredits异常示意图

重新打开ajax下的bank.php文件,定位到$moneycredits,在第12行,看起来是取数据异常导致的。应该是旧的获取积分方式有问题。所以把原来的

$moneycredits = $_G['member']['extcredits'.$petsettings['moneycredits'].''];

替换为

$moneycredits = DB::result(DB::query("select extcredits{$petsettings[moneycredits]} from ".DB::table('common_member_count')." where uid='{$_G['uid']}'"),0);

为了防止遗漏,使用dreamweaver批量替换。

再次存钱,发现提示正常了……唏嘘……看来以后看xml要留心点。

至此,银行存钱无提示的问题得以解决。

本节教程结束。

Related Posts: 无心宠物-BUG修复系列-10-银行存钱无提示的修复办法 :