新聞中心
discuz積分交易系統(tǒng)積分活動(dòng)異常bug修復(fù)方法
作者 / 無憂主機(jī) 時(shí)間 2015-10-13 09:24:08
今天無憂主機(jī)小編我在處理售后問題時(shí),遇到一位php免備案空間客戶向小編我反映discuz程序有一個(gè)bug,就是使用積分進(jìn)行交易,出售主題的時(shí)候購(gòu)買主題的一方扣除的積分是正常的,但是出售主題的一方卻能夠得到兩倍的積分。經(jīng)過小編我親自測(cè)試,確實(shí)是存在兩倍積分的bug問題。于是小編我嘗試通過修改源碼的方法來解決此bug,經(jīng)過反復(fù)的嘗試終于修復(fù)了這個(gè)問題,其解決方法如下: 首先找到與此問題相關(guān)的misc.php文件,這個(gè)文件就在網(wǎng)站根目錄下,找到后用網(wǎng)頁(yè)編輯工具將其打開,查找如下一段函數(shù):
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]'"); }動(dòng)源碼的站長(zhǎng)朋友可以看出重代碼中有代碼存在重復(fù)執(zhí)行的問題,所以只要?jiǎng)h除重復(fù)執(zhí)行的代碼就可以解決此問題了。 刪除如下這一段代碼:
$db->query("UPDATE {$tablepre}members SET extcredits$creditstransextra[1]=extcredits$creditstransextra[1]+$thread[netprice] WHERE uid='$thread[authorid]'");一般dz程序出現(xiàn)bug的話,官網(wǎng)很快會(huì)給出補(bǔ)丁文件,所以遇到同樣問題的站長(zhǎng)朋友可以去官網(wǎng)下載補(bǔ)丁解決此問題,但是考慮到可能有些站長(zhǎng)比較著急或者找不到補(bǔ)丁文件,特此將這個(gè)bug的解決方法介紹給大家。 無憂主機(jī)相關(guān)文章推薦閱讀: DISCUZ如何設(shè)置只在公司內(nèi)部使用(訪問) DISCUZ根目錄出現(xiàn).$MOD.’.PHP文件解決辦法 DISCUZ論壇QQ互聯(lián)的問題:詳細(xì)錯(cuò)誤:CONNECT_ERROR_CODE_20003
本文地址:http://www.gle-technology.com/discuz/20330.html