关于积分买卖以后,等级不会自动提升的问题。。
我已经成功修改了。。。。哦耶。。
可是遇到一个问题。。
想和 winter 大大讨论一下。。
winter 大大帮我看一下我修改的这一段。。
$bankaction = "买卖交易";
if ($action=='buy') {
if(!$banksettings['allowsell'] && !$isadmin) {
showmessage('对不起,目前系统不允许买卖交易!');
}
if ($banknum<=0) showmessage('对不起,买入积分数量错误!');
$yourcash = $banknum * $banksettings['buy'];
$bankselltax=round($yourcash * $banksettings['selltax']);
$usermoneynow=$userbank[money]-$yourcash-$bankselltax;
$score_money = "-$yourcash-$bankselltax"; //积分买入后减少的金钱。
if ($usermoneynow<0) {
showmessage('对不起,你的现金不足!');
} elseif ($userbank[bankpass]<>intval(trim($mybankpass))) {
showmessage('你的银行密码错误,请重新输入!');
} else {
$query = $db->query("INSERT INTO $table_banklog (uid,username,czid,moneynum,begintime,islog,czip) VALUES('$discuz_uid','$discuz_user','9','$banknum','$timestamp','0','$onlineip')");
require './include/post.php';
updatemember('+', $discuz_uid, $banknum, $score_money);
// $query = $db->query("UPDATE $table_members SET credit=credit+$banknum,money=$usermoneynow WHERE username='$discuz_user'");
showmessage("购买成功,你的积分增加了 $banknum",'plugins.php?p=bank&code=5');
}
} elseif ($action=='sell') {
if(!$banksettings['allowsell'] && !$isadmin) {
showmessage('对不起,目前系统不允许买卖交易!');
}
if ($banknum<=0) showmessage('对不起,买出积分数量错误!');
$yourcash = $banknum * $banksettings['sell'];
$bankselltax=round($yourcash * $banksettings['selltax']);
$usercreditnow=$userbank[credit]-$banknum;
// $usermoneynow=$userbank[money]+$yourcash-$bankselltax;
$score_money = "-$yourcash+$bankselltax"; //积分卖出后增加的金钱。
if ($usercreditnow<0) {
showmessage('对不起,你没有这么多积分!');
} elseif ($userbank[bankpass]<>intval(trim($mybankpass))) {
showmessage('你的银行密码错误,请重新输入!');
} else {
$query = $db->query("INSERT INTO $table_banklog (uid,username,czid,moneynum,begintime,islog,czip) VALUES('$discuz_uid','$discuz_user','10','$banknum','$timestamp','0','$onlineip')");
require './include/post.php';
updatemember('-', $discuz_uid, $banknum, $score_money);
// $query = $db->query("UPDATE $table_members SET credit=$usercreditnow,money=$usermoneynow WHERE username='$discuz_user'");
showmessage("卖出成功,你的现金增加了 $yourcash ,总共花费积分 $banknum 。",'plugins.php?p=bank&code=5');
青色的部分是原本你的代码,我注释掉了。。
红色的部分是修改过的。。
虽然买卖成功之后会自动提升等级。。
可是只局限于能够被 10 除完的整数。。
例如,从新手升级到普通用户需要 50 积分。
如果我有 29 积分,我买入 21,等级会自动提升,可是我买入 22 或者 23。等级就不会升了。。
不知道为什么会这样。。
是不是 function updatemember 的问题?
[ Last edited by 不削吃鱼的猫 on 2005-6-1 at 22:57 ] |