新闻中心

discuz积分交易系统积分活动异常bug修复方法

作者 / 无忧主机 时间 2015-10-13 09:24:08

今天无忧主机小编我在处理售后问题时,遇到一位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

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

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服