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

今天高速度 主机小编我在处理售后问题时,遇到一位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.gaosudu.com/discuz/20330.html