- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
//если нашли аккаунт то проверяем если чары на аккаунте куда мы собираемся перенести персонажа
connectdb("character");
//для выяснения принадлежности аккаунта к той или иной фракции нам достаточно найти одного любого перса
$query = "SELECT race FROM characters WHERE account='".$newacc['id']."' LIMIT 1";
$tmp = @mysql_query($query);
$newchar = @mysql_fetch_array($tmp);
//сравниваем полученный резал перебором и если совпадение найдено ставим переменную в единицу
//если переменная еденица значит аккаунт пренадлежит к фракции орды
if($newchar['race']=='2' OR $newchar['race']=='5' OR $newchar['race']=='6' OR $newchar['race']=='8' OR $newchar['race']=='10') $orc=1;
if($newchar['race']=='1' OR $newchar['race']=='3' OR $newchar['race']=='4' OR $newchar['race']=='7' OR $newchar['race']=='11') $all=1;
//если поле раса пустое то акк тоже пустой и переносить можно
if(empty($newchar['race'])){
$orc=1;
$all=1;
}
}
$query = "SELECT race FROM characters WHERE name='".$charname."' AND account='".$remhash['id']."' ";
$tmp = @mysql_query($query);
$remacc = @mysql_fetch_array($tmp);
//если перса не нашли- нах
if(empty($remacc['race'])) error("You not have character with this name on your account");
else{
if($remacc['race']=='2' OR $remacc['race']=='5' OR $remacc['race']=='6' OR $remacc['race']=='8' OR $remacc['race']=='10') $orc2=1;
if($remacc['race']=='1' OR $remacc['race']=='3' OR $remacc['race']=='4' OR $remacc['race']=='7' OR $remacc['race']=='11') $all2=1;
//проверяем оба аккаунта на предмет принадлежания обоих к одной фракции если нет - нах
if($orc!=$orc2 AND $all!=$all2) error("Accounts have differents faction");
else{
// если все ок меняем номер аккаунта у перса - тадам :D
$query = "UPDATE characters SET account='".$newacc['id']."' WHERE name='".$charname."'";
$tmp = @mysql_query($query);
if(!$tmp) error("какая то жопа в последнем запросе");
else{header("location: /index.php?do=worldofwarcraft_accountmanager&mode=transfer&change=ok");}
}
}
mysql_close();
}
Vasiliy 10.10.2010 14:38 # −1
sectus 11.10.2010 04:09 # 0
nikelin 11.10.2010 12:42 # +2
Vasiliy 11.10.2010 16:55 # 0
sql injection - где ??? никаких $_GET(POST) в запросах нет. может выше всё фильтруется
Не конструктивные ветвления может быть. Но школота на то и школота.
nikelin 11.10.2010 17:57 # −1
OR - идиоматически неверно.
Uchkuma 11.10.2010 20:09 # +1
Lure Of Chaos 11.10.2010 18:22 # +2
Uchkuma 11.10.2010 20:12 # 0
Lure Of Chaos 11.10.2010 21:34 # +2
Uchkuma 12.10.2010 22:16 # 0
nikelin 11.10.2010 10:04 # 0
Uchkuma 11.10.2010 10:36 # +1
HyperGeek 11.10.2010 15:36 # 0
=)))