Tokiwa Battle Royale  GE777
A PHP Battle Royale inspired game
 All Data Structures Namespaces Files Functions Variables Pages
user.php
Go to the documentation of this file.
1 <?php
2 
3 define('CURSCRIPT', 'user');
4 
5 require './include/common.inc.php';
6 require './include/user.func.php';
7 
8 if(!$cuser||!$cpass) { gexit($_ERROR['no_login'],__file__,__line__); }
9 
10 $result = $db->query("SELECT * FROM {$tablepre}users WHERE username='$cuser'");
11 if(!$db->num_rows($result)) { gexit($_ERROR['login_check'],__file__,__line__); }
12 $udata = $db->fetch_array($result);
13 if($udata['password'] != $cpass) { gexit($_ERROR['wrong_pw'], __file__, __line__); }
14 if($udata['groupid'] <= 0) { gexit($_ERROR['user_ban'], __file__, __line__); }
15 
16 if(!isset($mode)){
17  $mode = 'show';
18 }
19 
20 if($mode == 'edit') {
21  $gamedata=Array();$gamedata['innerHTML']['info'] = '';
22  if($opass && $npass && $rnpass){
23  $pass_right = true;
24  $pass_check = pass_check($npass,$rnpass);
25  if($pass_check!='pass_ok'){
26  $gamedata['innerHTML']['info'] .= $_ERROR[$pass_check].'<br />';
27  $pass_right = false;
28  }
29  $opass = md5($opass);
30  $npass = md5($npass);
31  if($opass != $udata['password']){
32  $gamedata['innerHTML']['info'] .= $_ERROR['wrong_pw'].'<br />';
33  $pass_right = false;
34  }
35  if($pass_right){
36  gsetcookie('pass',$npass);
37  $passqry = "`password` ='$npass',";
38  $gamedata['innerHTML']['info'] .= $_INFO['pass_success'].'<br />';
39  }else{
40  $passqry = '';
41  $gamedata['innerHTML']['info'] .= $_INFO['pass_failure'].'<br />';
42  }
43  }else{
44  $passqry = '';
45  $gamedata['innerHTML']['info'] .= $_INFO['pass_failure'].'<br />';
46  }
47  $credits = $udata['credits'];$credits2 = $udata['credits2'];
48  if($exchg12||$exchg21){
49  //if(!is_numeric($exchg12)||$exchg12<0){$gamedata['innerHTML']['info'] .= $_INFO['credits_failure'];}
50  if(!is_numeric($exchg12)||!is_numeric($exchg21)||$exchg12<0||$exchg21<0){$gamedata['innerHTML']['info'] .= $_INFO['credits_failure'];}
51  elseif($exchg12 && $exchg21){$gamedata['innerHTML']['info'] .= $_INFO['credits_conflicts'];}
52  else{
53  if($exchg12){
54  $exchg12 = ceil($exchg12);
55  if($exchg12>$udata['credits']){$gamedata['innerHTML']['info'] .= $_INFO['credits_failure2'];}
56  elseif($exchg12 % 100){$gamedata['innerHTML']['info'] .= $_INFO['credits_failure3'];}
57  elseif($exchg12 > $credits/5){$gamedata['innerHTML']['info'] .= '不允许一次转换超过20%的积分!';}
58  else{
59  $credits -= $exchg12;
60  $credits2 += $exchg12/100;
61  $gamedata['innerHTML']['info'] .= $_INFO['credits_success'];
62  }
63  }elseif($exchg21){
64  $exchg21 = ceil($exchg21);
65  if($exchg21 > $credits2){$gamedata['innerHTML']['info'] .= $_INFO['credits_failure2'];}
66  else{
67  $credits2 -= $exchg21;
68  $credits += $exchg21*75;
69  $gamedata['innerHTML']['info'] .= $_INFO['credits_success'];
70  }
71  }
72  }
73  }
74  if ($icon>$iconlimit) $icon=0;
75  $db->query("UPDATE {$tablepre}users SET gender='$gender', icon='$icon',{$passqry}motto='$motto', killmsg='$killmsg', lastword='$lastword', credits='$credits', credits2='$credits2' ,nick='$nick' WHERE username='$cuser'");
76  if($db->affected_rows()){
77  $gamedata['innerHTML']['info'] .= $_INFO['data_success'];
78  }else{
79  $gamedata['innerHTML']['info'] .= $_INFO['data_failure'];
80  }
81  $gamedata['innerHTML']['credits'] = $credits;$gamedata['innerHTML']['credits2'] = $credits2;
82  $gamedata['value']['opass'] = $gamedata['value']['npass'] = $gamedata['value']['rnpass'] = '';$gamedata['value']['exchg12'] = $gamedata['value']['exchg21'] = 0;
83  if(isset($error)){$gamedata['innerHTML']['error'] = $error;}
84  ob_clean();
86  echo $jgamedata;
87  ob_end_flush();
88 
89 } else {
90  //$ustate = 'edit';
91  extract($udata);
93  $select_icon = $icon;
94  //这里假定player表里有usertitle字段而且储存方式是这样蛋疼的。具体程序虚子你写。
95  $utlist = get_utitlelist();//然后去接收用户传来的$
96  include template('user');
97 }
98 
99 ?>
$gamedata
Definition: command.php:45
$credits
Definition: login.php:116
pass_check($pass, $rpass)
Definition: user.func.php:14
get_utitlelist()
Definition: user.func.php:108
$iconarray
Definition: user.php:92
$db
Definition: clear.php:32
if(!$db->num_rows($result)) $udata
Definition: user.php:12
$_INFO
【生存者数:<?php echo $alivenum?> 人】< input type="button"value="显示全部幸存者"onClick="$('alivemode').value='all';$('gbmode').value='none';postCmd('alive','alive.php');"></p > if($gamblingon &&$gamestate >=20) elseif($gamblingon &&$gamestate<=10)
Definition: 1_alive.tpl.php:18
$utlist
Definition: user.php:95
$iconlimit
Definition: system.php:28
$error
Definition: errorpage.php:2
$_ERROR
$jgamedata
Definition: alive.php:173
$pass_check
Definition: login.php:65
if(!$cuser||!$cpass) $result
Definition: user.php:10
gsetcookie($var, $value, $life=0, $prefix=1)
gexit($message= '', $file= '', $line=0)
Definition: global.func.php:30
$select_icon
Definition: user.php:93
$cpass
Definition: common.inc.php:207
compatible_json_encode($data)
get_iconlist()
Definition: user.func.php:95