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

今天无忧主机小编我在处理售后问题时,遇到一位php免备案空间客户向小编我反映discuz程序有一个bug,就是使用积分进行交易,出售主题的时候购买主题的一方扣除的积分是正常的,但是出售主题的一方却能够得到两倍的积分。经过小编我亲自测试,确实是存在两倍积分的bug问题。于是小编我尝试通过修改源码的方法来解决此bug,经过反复的尝试终于修复了这个问题,其解决方法如下:

首先找到与此问题相关的misc.php文件,这个文件就在网站根目录下,找到后用网页编辑工具将其打开,查找如下一段函数:

if($updateauthor) {
updatecredits($thread['authorid'], array($creditstransextra[1] => $thread['netprice']));
$db->query("UPDATE {$tablepre}members SET extcredits$creditstransextra[1]
=extcredits$creditstransextra[1]+$thread[netprice] WHERE uid='$thread[authorid]'");
}

动源码的站长朋友可以看出重代码中有代码存在重复执行的问题,所以只要删除重复执行的代码就可以解决此问题了。

删除如下这一段代码:

$db->query("UPDATE {$tablepre}members SET extcredits$creditstransextra[1]=extcredits$creditstransextra[1]+$thread[netprice] WHERE uid='$thread[authorid]'");

一般dz程序出现bug的话,官网很快会给出补丁文件,所以遇到同样问题的站长朋友可以去官网下载补丁解决此问题,但是考虑到可能有些站长比较着急或者找不到补丁文件,特此将这个bug的解决方法介绍给大家。

无忧主机相关文章推荐阅读:
DISCUZ如何设置只在公司内部使用(访问)
DISCUZ根目录出现.$MOD.’.PHP文件解决办法
DISCUZ论坛QQ互联的问题:详细错误:CONNECT_ERROR_CODE_20003

本文地址:http://www.51php.com/discuz/20330.html

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

阅读本文的人还阅读: