if($action=='transfer'){  //同平台转账
$type = $_POST['transfer_type'];
/*1账户余额2账户佣金*/
$touid = $_POST['to_user_id'];
$money = $_POST['money'];
$shouxufei = $money*0.01;
$kouchu = $money+$shouxufei;
if($money < 0){
$arr['error_code'] = '1'; $arr['msg'] = '请输入正确的转账数字'; exit(json_encode($arr));
}
if($money > 800){
$arr['error_code'] = '1'; $arr['msg'] = '单次转账不能超过800'; exit(json_encode($arr));
}
if($kouchu < 1){
$arr['error_code'] = '1'; $arr['msg'] = '请输入正确的转账数字'; exit(json_encode($arr));
}
$user2 = $D ->setbiao('user')-> where( array( "uid" => $touid ) ) -> find();
$huiyuans = $D ->setbiao('user')-> where( array( "uid" => $_SESSION['uid'] ) ) -> find();
if(!$user2){
$arr['error_code'] = '1'; $arr['msg'] = '收款账户不存在'; exit(json_encode($arr));
}
if($user2==$huiyuans){
$arr['error_code'] = '1'; $arr['msg'] = '不可转账给自己'; exit(json_encode($arr));
}
if($type == 1){
if($huiyuans['jine'] < $kouchu){
$arr['error_code'] = '1'; $arr['msg'] = '账户余额不足'; exit(json_encode($arr));
}else{
//扣除账户余额
$newmoney = $huiyuans['jine'] - $kouchu;
$result = $D->setbiao('user')->where( array( "uid" => $_SESSION['uid'] ))->update(array('jine'=>$newmoney));
if($result){
//扣除成功
$user2money = $user2['jine']+$money;
$info = $D->setbiao('user')->where( array( "uid" => $touid ))->update(array('jine'=>$user2money));
if($info){
//转账成功
$D->setbiao('jinelog')->insert(array(
'uid'=>$_SESSION['uid'],
'type'=>'9',
'jine'=>$money,
'data'=>'转出到ID'.$touid,
'ip'=>ip(),
'atime'=>time()
));
$D->setbiao('jinelog')->insert(array(
'uid'=>$touid,
'type'=>'10',
'jine'=>$money,
'data'=>'来自于ID'.$_SESSION['uid'],
'ip'=>ip(),
'atime'=>time()
));
$arr['error_code'] = '1';
$arr['msg'] = '转账成功';
$arr['success'] = 1; 
exit(json_encode($arr));
}else{
//转账失败
$D->setbiao('user')->where( array( "uid" => $_SESSION['uid'] ))->update(array('jine'=>$huiyuans['jine']));
$arr['error_code'] = '1';
$arr['msg'] = '转账失败';
$arr['success'] = 1; 
exit(json_encode($arr));
}
}
}

}else if($type == 2){
//佣金扣除
if($huiyuans['huobi'] < $kouchu){
$arr['error_code'] = '1'; $arr['msg'] = '佣金余额不足'; exit(json_encode($arr));
}else{
//扣除账户余额
$newmoney = $huiyuans['huobi'] - $kouchu;
$result = $D->setbiao('user')->where( array( "uid" => $_SESSION['uid'] ))->update(array('huobi'=>$newmoney));
if($result){
//扣除成功
$user2money = $user2['jine']+$money;
$info = $D->setbiao('user')->where( array( "uid" => $touid ))->update(array('jine'=>$user2money));
if($info){
//转账成功
$D->setbiao('jinelog')->insert(array(
'uid'=>$_SESSION['uid'],
'type'=>'9',
'jine'=>$money,
'data'=>'转出到ID'.$touid,
'ip'=>ip(),
'atime'=>time()
));
$D->setbiao('jinelog')->insert(array(
'uid'=>$touid,
'type'=>'10',
'jine'=>$money,
'data'=>'来自于ID'.$_SESSION['uid'],
'ip'=>ip(),
'atime'=>time()
));
$arr['error_code'] = '1';
$arr['msg'] = '转账成功';
$arr['success'] = 1; 
exit(json_encode($arr));
}else{
//转账失败
$D->setbiao('user')->where( array( "uid" => $_SESSION['uid'] ))->update(array('huobi'=>$huiyuans['huobi']));
$arr['error_code'] = '1';
$arr['msg'] = '转账失败';
$arr['success'] = 1; 
exit(json_encode($arr));
}
}
}

}
}

解决方案 »

  1.   

    因为session吧   session里面直接存储了用户的ID   直接取出就用
    起码session存储用户数据的时候做一些加密措施啊 然后在父级类里面统一解密
      

  2.   

    1.你这个没有做登录验证吗?
    2.我不知道你的这个$_SESSION 是怎么存的
    3.我也不知道你的这个 数据库操作类是怎么写的
    4.你的这个 不可转账给自己 的判断 完全可以 判断两个ID 是否相等呀,不需要查询出来再来判断
    5.后面的我没看了