1 Востаннє редагувалося Stadnik Roman (02.02.2013 23:29:17)

Тема: проблема з регистрациєю

Здрастуйте! Я скачав исходник гри але там непрацює реєстрація! З самого початку все добре, я вписую інформацию про себе, вибираю персонажа, якщо щось незаповнено мені вибиває що це потрібно заповнити! А коли все правильно і я натискаю реєстації мені вибиває ось таку помилку
http://floomby.ru/s1/rZVQq
Вот документ отвечающих за регистрацию

<html>
<head>
<title>Registr!</title>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<LINK href="css/style2.css" type=text/css rel=stylesheet>
</head>
<body>
<CENTER>
  <?php
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
 
if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    {
     echo "<script>alert('Вы ввели не всю информацию, вернитесь назад и заполните все поля!'); location.href='index.php?go=reg';</script>"; exit;
    }                  
    if    (!preg_match("|^[a-z_-]+$|i", $login)) //проверка логина регулярными выражениями на корректность
    {echo "<script>alert('Логин может содержать только латинские буквы, цифры и _!'); location.href='index.php?go=reg';</script>"; exit;}
    
if    (isset($_POST['email'])) { $aMail = $_POST['email']; if ($aMail == '') {    unset($aMail);} } //заносим введенный пользователем e-mail, если он    пустой, то уничтожаем переменную
if    (empty($aMail) or empty($aMail)) 
            {
            echo "<script>alert('Вы ввели не всю информацию, вернитесь назад и заполните все поля!'); location.href='index.php?go=reg';</script>";  exit; //останавливаем    выполнение сценариев 
            }
            if    (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $aMail)) //проверка    е-mail адреса регулярными выражениями на корректность
            
            { echo "<script>alert('Неверно введен е-mail!'); location.href='index.php?go=reg';</script>";  exit; }    
  $ip=getenv("HTTP_X_FORWARDED_FOR");
  if (empty($ip) || $ip=='unknown') { $ip=getenv("REMOTE_ADDR"); }   
    $vozvrat = " <a href='index.php?go=reg'>Вернуться назад!</a>";
    $vozvrat2 = " <a href='index.php'>На главную!</a>";
    $aLogin = $_POST['login'];
    $aLogin = trim($aLogin);
    $aLogin = stripslashes($aLogin);
    $aLogin = htmlspecialchars($aLogin);       
    if (strlen($aLogin) < 3 or strlen($aLogin) > 15) {echo "<script>alert('Логин должен состоять не менее чем из 3 символов и не более чем из 15.'); location.href='index.php?go=reg';</script>";  exit;}
    $aPassword = $_POST['password'];
    $aPassword = trim($aPassword); 
    $aPassword = stripslashes($aPassword);
    $aPassword = htmlspecialchars($aPassword);
    if (strlen($aPassword) < 6 or strlen($aPassword) > 15) {echo "<script>alert('Пароль должен состоять не менее чем из 6 символов и не более чем из 15.'); location.href='index.php?go=reg';</script>";  exit;}    
    
    $aInfo = $_POST['info'];
    $aMail = $_POST['email'];           
    $aYear = $_POST['year'];
    $aMonth = $_POST['month'];
    $aDay = $_POST['day'];
    $aDate = $aYear."-".$aMonth."-".$aDay;
    $aAnswer = $_POST['answer'];
    $aGender = $_POST['gender'];
    if ($aGender=='Мужской'){$aUserGender = 1;}else{$aUserGender = 2;}
    $aCity   = $_POST['city'];
    $aICQ  = $_POST['icq'];
    $aRang  = "Новичок";
    $md5code = $_POST['check']; 
    $code = $_POST['digits']; 
    
    $aInfo = trim($aInfo);$aInfo = stripslashes($aInfo);$aInfo = htmlspecialchars($aInfo);
    $aMail = trim($aMail);$aMail = stripslashes($aMail);$aMail = htmlspecialchars($aMail);
    $aYear = trim($aYear);$aYear = stripslashes($aYear);$aYear = htmlspecialchars($aYear);
    $aMonth = trim($aMonth);$aMonth = stripslashes($aMonth);$aMonth = htmlspecialchars($aMonth);
    $aDay = trim($aDay);$aDay = stripslashes($aDay);$aDay = htmlspecialchars($aDay);
    $aAnswer = trim($aAnswer);$aAnswer = stripslashes($aAnswer);$aAnswer = htmlspecialchars($aAnswer);
    $aGender = trim($aGender);$aGender = stripslashes($aGender);$aGender = htmlspecialchars($aGender);
    $aCity = trim($aCity);$aCity = stripslashes($aCity);$aCity = htmlspecialchars($aCity);
    $aICQ = trim($aICQ);$aICQ = stripslashes($aICQ);$aICQ = htmlspecialchars($aICQ);
    $md5code = trim($md5code);$md5code = stripslashes($md5code);$md5code = htmlspecialchars($md5code);
    $code = trim($code);$code = stripslashes($code);$code = htmlspecialchars($code);
    
        
    $date = date('Y-m-d',time());                                                                  
    $aPassword = md5($aPassword);//шифруем пароль
    $aPassword = strrev($aPassword);
    $aPassword = $aPassword."b3p6f";
    if ($md5code === md5($code)){
    $num_rows = first('SELECT id FROM users where MATCH (login) AGAINST ("%s")',$login); 
    if(!$num_rows)
        {                      
   insert ('users',array(
   'login'=>$aLogin,
   'password'=>$aPassword,
   'User_Birth_Day'=>$date,
   'Character_Birth_Day'=>$aDate,
   'Security_Answer'=>$aAnswer,
   'User_Gender'=>$aUserGender,
   'User_City'=>$aCity,
   'ICQ_Number'=>$aICQ,
   'Rang'=>$aRang,
   'info'=>$aInfo,
   'avatar'=>001,
   'soboi'=>1,
   'email'=>$aMail,
   'ip'=>$ip,
   'count_poke'=>1,
   'groups'=>11
   ));
    $user2 = mysql_insert_id();
    
    $Base_id = $_POST['poke'];
    $Base_id = trim($Base_id);$Base_id = stripslashes($Base_id);$Base_id = htmlspecialchars($Base_id);
    
    if ($Base_id=='1'){$Base_id2 = '1';} else 
    if ($Base_id=='4'){$Base_id2 = '4';} else
    if ($Base_id=='7'){$Base_id2 = '7';} else
    if ($Base_id=='152'){$Base_id2 = '152';} else 
    if ($Base_id=='155'){$Base_id2 = '155';} else
    if ($Base_id=='158'){$Base_id2 = '158';} else
    if ($Base_id=='252'){$Base_id2 = '252';} else 
    if ($Base_id=='255'){$Base_id2 = '255';} else
    if ($Base_id=='258'){$Base_id2 = '258';} else
    if ($Base_id=='387'){$Base_id2 = '387';} else
    if ($Base_id=='390'){$Base_id2 = '390';} else
    if ($Base_id=='393'){$Base_id2 = '393';} else
    if ($Base_id=='495'){$Base_id2 = '495';} else
    if ($Base_id=='498'){$Base_id2 = '498';} else
    if ($Base_id=='501'){$Base_id2 = '501';} else
    {$Base_id2 = '1';}
     
$BID = $Base_id2;
if ($BID == '') { exit ("<script>alert('Вы невыбрали покемона!');  location.href='index.php?go=reg';</script>"); exit;}
$user_reg = $user2;
   $lvl = "4";
   $iv = "28";
   $ev = "16";
   $ev2 = "0";
   $sex = ''.mt_rand(1,2);
   $pok = first('SELECT * FROM poke_base WHERE id=%d LIMIT 1',$BID);
   $hp = (($iv+($pok['hp']*2)+($ev/4)+100)*($lvl/100))+10;
   $atk = ((($iv+($pok['atk']*2)+($ev/4))*($lvl/100))+5)*1;
   $def = ((($iv+($pok['def']*2)+($ev/4))*($lvl/100))+5)*1;
   $satk = ((($iv+($pok['satk']*2)+($ev/4))*($lvl/100))+5)*1;
   $sdef = ((($iv+($pok['sdef']*2)+($ev/4))*($lvl/100))+5)*1;
   $speed = ((($iv+($pok['speed']*2)+($ev/4))*($lvl/100))+5)*1;
   $atk_zapr = first('SELECT *, CEIL(RAND()*atac_id) as chance FROM attac_poke WHERE poke_base_id=%d AND atc_lvl < 4 ORDER BY chance DESC',$pok['id']);
   insert('pokemon_user',array(
   'base_id'=>$pok['id'],
   'name'=>$pok['title'],
   'user'=>$user_reg,
   'img_pok'=>$pok['img'],
   'level'=>$lvl,
   'sex'=>$sex,
   'har'=>13,
   'hp_now'=>$hp,
   'hp_max'=>$hp,
   'hp_iv'=>$iv,
   'atk'=>$atk,
   'atk_iv'=>$iv,
   'def'=>$def,
   'def_iv'=>$iv,
   'satk'=>$satk,
   'satk_iv'=>$iv,
   'sdef'=>$sdef,
   'sdef_iv'=>$iv,
   'speed'=>$speed,
   'speed_iv'=>$iv,
   'start_new'=>1,
   'endurance_min'=>100,    
   'endurance_max'=>100,
   'ev'=>$ev,
   'exp'=>50,
   'exp_b'=>150,
   'start'=>1,
   'active'=>1,
   'razveden'=>1,
   'atc_one'=>$atk_zapr['atac_id'],
   ));
   
   insert('items_users',array(
   'item_id'=>1,
   'user_id'=>$user_reg,
   'count'=>500));
   insert('items_users',array(
   'item_id'=>23,
   'user_id'=>$user_reg,
   'count'=>15));
   
   print("<span style=\"color: black;\">Пользователь: $aLogin, Датой рождения: $aDate удачно зарегистрирован! <br><br>  $vozvrat2 </span>");} else {
   print("<span style=\"color: black;\">Пользователь с логином: $aLogin уже есть в игре, выберите другой логин! <br><br> $vozvrat </span>");}
   mysql_close();
   }else{
   echo "<script>alert('Вы ввели неправильные цифры с картинки!'); location.href='index.php?go=reg';</script>"; exit;} ?>
</CENTER>
</body>
</html>

Для поля Start_q не задано значення за замовчуванням (саме це написано в помилці). Це означає, що при спробі додати дані в базу в конкретні поля, СУБД не змогла знайти що вписати в незазначені поля.

За що відповідає поле Start_q я абсолютно немаю поняття. Потрібно або додати це поле до запиту, або задати йому значення за замовчуванням в СУБД (mysql, наприклад; через Navicat, ). Тільки треба знати, що задавати а я незнаю! Хто може допомогти? Буду дуже вдячний!

2

Re: проблема з регистрациєю

Оформіть, будь-ласка, тему згідно Правил: на Форумі використовується українська мова.

З.І:

Stadnik Roman написав:

Я скачала исходник игры но там нереботает регистрация!

Stadnik Roman написав:

Я узнал што для поля Start_q не задано значение по умолчанию

0_о?..

I belong to the Dead Generation.
Подякували: Stadnik Roman, miroslav.chandler2

Re: проблема з регистрациєю

ололо :D

4

Re: проблема з регистрациєю

Автору http://translate.google.com.ua/#ru/uk/

Білий Лунь

5

Re: проблема з регистрациєю

Bartash написав:

Оформіть, будь-ласка, тему згідно Правил: на Форумі використовується українська мова.

З.І:

Stadnik Roman написав:

Я скачала исходник игры но там нереботает регистрация!

Stadnik Roman написав:

Я узнал што для поля Start_q не задано значение по умолчанию

Пробачте я незамітив ! Я з України і тільки за щоб спілкуватися українською мовою!

6

Re: проблема з регистрациєю

Віднайти, для чого у базі поле Start_q, на самих здогадках шансів мало. Варто перевірити, у яких блоках коду зустрічається ще дане поле. Якщо ніде - сміливо до бази, проставити щось у якості значення за замовчуванням. Якщо десь спливе по коду - тут уже варто міркувати.

Stadnik Roman написав:

Пробачте я незамітив ! Я з України і тільки за щоб спілкуватися українською мовою!

Приймається. :)

I belong to the Dead Generation.

7

Re: проблема з регистрациєю

Bartash написав:

Віднайти, для чого у базі поле Start_q, на самих здогадках шансів мало. Варто перевірити, у яких блоках коду зустрічається ще дане поле. Якщо ніде - сміливо до бази, проставити щось у якості значення за замовчуванням. Якщо десь спливе по коду - тут уже варто міркувати.

Stadnik Roman написав:

Пробачте я незамітив ! Я з України і тільки за щоб спілкуватися українською мовою!

Приймається. :)

Start_q зустрічається в базі тільки при створені профеля!
Більше нігде не знаходиться! Що саме можна вписати в якості за замовчуванням?

8 Востаннє редагувалося Адріян Ігорович (03.02.2013 09:54:22)

Re: проблема з регистрациєю

Stadnik Roman написав:

Start_q зустрічається в базі тільки при створені профеля!
Більше нігде не знаходиться! Що саме можна вписати в якості за замовчуванням?

Можна по дефолту писати 0, якщо поле числового типу, або взагалі писати NULL і все.
А взагалі, якщо це поле буде постійно пустим, для чого воно взагалі ?

9

Re: проблема з регистрациєю

Stadnik Roman написав:

Start_q зустрічається в базі тільки при створені профеля!
Більше нігде не знаходиться! Що саме можна вписати в якості за замовчуванням?

У самій базі, гадаю, нема хитро закручених речей типу тріггерів на вставку чи процедур, які могли б використати дане поле. Скоріш за все, поле є або застарілим елементом, який було видалено у процесі розробки програми, або та'як люблять у Мілкософті - "зарезервовано на майбутнє, must be NULL". :)
Тож приєднуюся до думки Hanter'а.

I belong to the Dead Generation.
Подякували: Адріян Ігорович1

10

Re: проблема з регистрациєю

Bartash написав:
Stadnik Roman написав:

Start_q зустрічається в базі тільки при створені профеля!
Більше нігде не знаходиться! Що саме можна вписати в якості за замовчуванням?

У самій базі, гадаю, нема хитро закручених речей типу тріггерів на вставку чи процедур, які могли б використати дане поле. Скоріш за все, поле є або застарілим елементом, який було видалено у процесі розробки програми, або та'як люблять у Мілкософті - "зарезервовано на майбутнє, must be NULL". :)
Тож приєднуюся до думки Hanter'а.

Можете підказати команду Start_q  за замовчуванням яку я можу вказати в консолі Navicat for MySQL?

11

Re: проблема з регистрациєю

Stadnik Roman написав:

Можете підказати команду Start_q  за замовчуванням яку я можу вказати в консолі Navicat for MySQL?

Тобто щоб видалити  Start_q з таблиці ?

12

Re: проблема з регистрациєю

Hanter написав:
Stadnik Roman написав:

Можете підказати команду Start_q  за замовчуванням яку я можу вказати в консолі Navicat for MySQL?

Тобто щоб видалити  Start_q з таблиці ?

Так!

13 Востаннє редагувалося Адріян Ігорович (03.02.2013 16:12:36)

Re: проблема з регистрациєю

ALTER TABLE `users` DROP COLUMN Start_q
Подякували: Stadnik Roman1

14 Востаннє редагувалося Stadnik Roman (03.02.2013 16:28:13)

Re: проблема з регистрациєю

Hanter написав:
ALTER TABLE `users` DROP COLUMN Start_q

я вписав в консоль і мені видало
Database changed
Records: 2222  Duplicates: 0  Warnings: 0
на цьому скрипті зареєстровано 2222 людини ! це означає що Start_q відповідіє за число зареєстрованих напевне!
Помилка лишилася та сама тільки тепер не "Start_q" а "Pv_eset"
При видаленні Start_q проблема перейшла на строку нижче в базі даних!
http://floomby.ru/s1/uaaPHP

15

Re: проблема з регистрациєю

Stadnik Roman написав:
Hanter написав:
ALTER TABLE `users` DROP COLUMN Start_q

я вписав в консоль і мені видало
Database changed
Records: 2222  Duplicates: 0  Warnings: 0
на цьому скрипті зареєстровано 2222 людини ! це означає що Start_q відповідіє за число зареєстрованих напевне!
Помилка лишилася та сама тільки тепер не "Start_q" а "Pv_eset"
При видаленні Start_q проблема перейшла на строку нижче в базі даних!
http://floomby.ru/s1/uaaPHP

Якщо Start_q відповідає за число зпреєстрованих, то навіщо це поле є у кожному записі ?
Хіба не краще зробити:

SELECT COUNT(*) FROM users

і мати к-сть записів у таблиці, а відповідно і к-сть зареєстрованих юзерів.

Щодо помилки, то раджу наступне:
1) Подивитися у документації до скрипта(хоча дуже сумніваюся, що вона є)
2) Подивитися які поля заповнюються у php скрипті, де йде INSERT у таблицю.
3) Написати самому розробнику цього скрипта.
Але найперше раджу виконати 2 варіант.

16

Re: проблема з регистрациєю

Якщо Start_q відповідає за число зпреєстрованих, то навіщо це поле є у кожному записі ?
Хіба не краще зробити:

SELECT COUNT(*) FROM users

і мати к-сть записів у таблиці, а відповідно і к-сть зареєстрованих юзерів.

Щодо помилки, то раджу наступне:
1) Подивитися у документації до скрипта(хоча дуже сумніваюся, що вона є)
2) Подивитися які поля заповнюються у php скрипті, де йде INSERT у таблицю.
3) Написати самому розробнику цього скрипта.
Але найперше раджу виконати 2 варіант.

1) Документації до скрипта немає!
2)можна по детальніше де саме подивитися?
3) Написати розроботчику скрипта неполучиться!
А може просто дати значення Pv_eset по умолчанию? Якщо можна попробувати, то напишіть будь-ласка код!

17

Re: проблема з регистрациєю

Stadnik Roman написав:

1) Документації до скрипта немає!
2)можна по детальніше де саме подивитися?
3) Написати розроботчику скрипта неполучиться!
А може просто дати значення Pv_eset по умолчанию? Якщо можна попробувати, то напишіть будь-ласка код!

1) Дуже погано.
2) Ну якщо це самописний рушій, то як я можу сказати де що знаходиться. Треба самому розбиратися, дивитися куди веде екшен форми реєстрації і там далі дивитися.
3) А що з девелопером ?
4) Можете спробувати.

18

Re: проблема з регистрациєю

Hanter написав:
Stadnik Roman написав:

1) Документації до скрипта немає!
2)можна по детальніше де саме подивитися?
3) Написати розроботчику скрипта неполучиться!
А може просто дати значення Pv_eset по умолчанию? Якщо можна попробувати, то напишіть будь-ласка код!

1) Дуже погано.
2) Ну якщо це самописний рушій, то як я можу сказати де що знаходиться. Треба самому розбиратися, дивитися куди веде екшен форми реєстрації і там далі дивитися.
3) А що з девелопером ?
4) Можете спробувати.

Що таке девелопер?
Можете аідказати код щоб зробити v_eset по умолчанию?
Я вечером пеперию весь скрипт і подивлюся дн знаходиться  INSERT !
Пробачте за те що надоїдаю Вам просто я недавно почав цікавитися програмуванням! Вчуся в школі а там нічого не учать! Мало що знаю!

19

Re: проблема з регистрациєю

Stadnik Roman написав:

Що таке девелопер?
Можете аідказати код щоб зробити v_eset по умолчанию?
Я вечером пеперию весь скрипт і подивлюся дн знаходиться  INSERT !
Пробачте за те що надоїдаю Вам просто я недавно почав цікавитися програмуванням! Вчуся в школі а там нічого не учать! Мало що знаю!

Якщо по простішому, девелопер - це той самий програміст.
А от інсертів у рушії може бути безліч, тому раджу дивитися у html шаблон форми реєстрації там у форми має бути атрибут action. От то що в тому атрибуті є, те і вам потрібно.
Спробуйте також видалити цю колонку, як і попередню.

20

Re: проблема з регистрациєю

Hanter написав:
Stadnik Roman написав:

Що таке девелопер?
Можете аідказати код щоб зробити v_eset по умолчанию?
Я вечером пеперию весь скрипт і подивлюся дн знаходиться  INSERT !
Пробачте за те що надоїдаю Вам просто я недавно почав цікавитися програмуванням! Вчуся в школі а там нічого не учать! Мало що знаю!

Якщо по простішому, девелопер - це той самий програміст.
А от інсертів у рушії може бути безліч, тому раджу дивитися у html шаблон форми реєстрації там у форми має бути атрибут action. От то що в тому атрибуті є, те і вам потрібно.
Спробуйте також видалити цю колонку, як і попередню.

Я спробував видалити  ALTER TABLE `users` DROP COLUMN v_eset;
Вибмває ошибку 1091 - Can't DROP 'v_eset'; check that column/key exists
Можете підказати код щоб зробити v_eset по умолчанию?
Я знайшов файл який відповідає за реєстрацію у мене це  severeg.php

<html>
<head>
<title>Registr!</title>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<LINK href="css/style2.css" type=text/css rel=stylesheet>
</head>
<body>
<CENTER>
  <?php
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную

if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    {
     echo "<script>alert('Вы ввели не всю информацию, вернитесь назад и заполните все поля!'); location.href='index.php?go=reg';</script>"; exit;
    }                  
    if    (!preg_match("|^[a-z_-]+$|i", $login)) //проверка логина регулярными выражениями на корректность
    {echo "<script>alert('Логин может содержать только латинские буквы, цифры и _!'); location.href='index.php?go=reg';</script>"; exit;}
    
if    (isset($_POST['email'])) { $aMail = $_POST['email']; if ($aMail == '') {    unset($aMail);} } //заносим введенный пользователем e-mail, если он    пустой, то уничтожаем переменную
if    (empty($aMail) or empty($aMail)) 
            {
            echo "<script>alert('Вы ввели не всю информацию, вернитесь назад и заполните все поля!'); location.href='index.php?go=reg';</script>";  exit; //останавливаем    выполнение сценариев 
            }
            if    (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $aMail)) //проверка    е-mail адреса регулярными выражениями на корректность
            
            { echo "<script>alert('Неверно введен е-mail!'); location.href='index.php?go=reg';</script>";  exit; }    
  $ip=getenv("HTTP_X_FORWARDED_FOR");
  if (empty($ip) || $ip=='unknown') { $ip=getenv("REMOTE_ADDR"); }   
    $vozvrat = " <a href='index.php?go=reg'>Вернуться назад!</a>";
    $vozvrat2 = " <a href='index.php'>На главную!</a>";
    $aLogin = $_POST['login'];
    $aLogin = trim($aLogin);
    $aLogin = stripslashes($aLogin);
    $aLogin = htmlspecialchars($aLogin);       
    if (strlen($aLogin) < 3 or strlen($aLogin) > 15) {echo "<script>alert('Логин должен состоять не менее чем из 3 символов и не более чем из 15.'); location.href='index.php?go=reg';</script>";  exit;}
    $aPassword = $_POST['password'];
    $aPassword = trim($aPassword); 
    $aPassword = stripslashes($aPassword);
    $aPassword = htmlspecialchars($aPassword);
    if (strlen($aPassword) < 6 or strlen($aPassword) > 15) {echo "<script>alert('Пароль должен состоять не менее чем из 6 символов и не более чем из 15.'); location.href='index.php?go=reg';</script>";  exit;}    
    
    $aInfo = $_POST['info'];
    $aMail = $_POST['email'];           
    $aYear = $_POST['year'];
    $aMonth = $_POST['month'];
    $aDay = $_POST['day'];
    $aDate = $aYear."-".$aMonth."-".$aDay;
    $aAnswer = $_POST['answer'];
    $aGender = $_POST['gender'];
    if ($aGender=='Мужской'){$aUserGender = 1;}else{$aUserGender = 2;}
    $aCity   = $_POST['city'];
    $aICQ  = $_POST['icq'];
    $aRang  = "Новичок";
    $md5code = $_POST['check']; 
    $code = $_POST['digits']; 
    
    $aInfo = trim($aInfo);$aInfo = stripslashes($aInfo);$aInfo = htmlspecialchars($aInfo);
    $aMail = trim($aMail);$aMail = stripslashes($aMail);$aMail = htmlspecialchars($aMail);
    $aYear = trim($aYear);$aYear = stripslashes($aYear);$aYear = htmlspecialchars($aYear);
    $aMonth = trim($aMonth);$aMonth = stripslashes($aMonth);$aMonth = htmlspecialchars($aMonth);
    $aDay = trim($aDay);$aDay = stripslashes($aDay);$aDay = htmlspecialchars($aDay);
    $aAnswer = trim($aAnswer);$aAnswer = stripslashes($aAnswer);$aAnswer = htmlspecialchars($aAnswer);
    $aGender = trim($aGender);$aGender = stripslashes($aGender);$aGender = htmlspecialchars($aGender);
    $aCity = trim($aCity);$aCity = stripslashes($aCity);$aCity = htmlspecialchars($aCity);
    $aICQ = trim($aICQ);$aICQ = stripslashes($aICQ);$aICQ = htmlspecialchars($aICQ);
    $md5code = trim($md5code);$md5code = stripslashes($md5code);$md5code = htmlspecialchars($md5code);
    $code = trim($code);$code = stripslashes($code);$code = htmlspecialchars($code);
    
        
    $date = date('Y-m-d',time());                                                                  
    $aPassword = md5($aPassword);//шифруем пароль
    $aPassword = strrev($aPassword);
    $aPassword = $aPassword."b3p6f";
    if ($md5code === md5($code)){
    $num_rows = first('SELECT id FROM users where MATCH (login) AGAINST ("%s")',$login); 
    if(!$num_rows)
        {                      
   insert ('users',array(
   'login'=>$aLogin,
   'password'=>$aPassword,
   'User_Birth_Day'=>$date,
   'Character_Birth_Day'=>$aDate,
   'Security_Answer'=>$aAnswer,
   'User_Gender'=>$aUserGender,
   'User_City'=>$aCity,
   'ICQ_Number'=>$aICQ,
   'Rang'=>$aRang,
   'info'=>$aInfo,
   'avatar'=>001,
   'soboi'=>1,
   'email'=>$aMail,
   'ip'=>$ip,
   'count_poke'=>1,
   'groups'=>11
   ));
    $user2 = mysql_insert_id();
    
    $Base_id = $_POST['poke'];
    $Base_id = trim($Base_id);$Base_id = stripslashes($Base_id);$Base_id = htmlspecialchars($Base_id);
    
    if ($Base_id=='1'){$Base_id2 = '1';} else 
    if ($Base_id=='4'){$Base_id2 = '4';} else
    if ($Base_id=='7'){$Base_id2 = '7';} else
    if ($Base_id=='152'){$Base_id2 = '152';} else 
    if ($Base_id=='155'){$Base_id2 = '155';} else
    if ($Base_id=='158'){$Base_id2 = '158';} else
    if ($Base_id=='252'){$Base_id2 = '252';} else 
    if ($Base_id=='255'){$Base_id2 = '255';} else
    if ($Base_id=='258'){$Base_id2 = '258';} else
    if ($Base_id=='387'){$Base_id2 = '387';} else
    if ($Base_id=='390'){$Base_id2 = '390';} else
    if ($Base_id=='393'){$Base_id2 = '393';} else
    if ($Base_id=='495'){$Base_id2 = '495';} else
    if ($Base_id=='498'){$Base_id2 = '498';} else
    if ($Base_id=='501'){$Base_id2 = '501';} else
    {$Base_id2 = '1';}
     
$BID = $Base_id2;
if ($BID == '') { exit ("<script>alert('Вы невыбрали покемона!');  location.href='index.php?go=reg';</script>"); exit;}
$user_reg = $user2;
   $lvl = "4";
   $iv = "28";
   $ev = "16";
   $ev2 = "0";
   $sex = ''.mt_rand(1,2);
   $pok = first('SELECT * FROM poke_base WHERE id=%d LIMIT 1',$BID);
   $hp = (($iv+($pok['hp']*2)+($ev/4)+100)*($lvl/100))+10;
   $atk = ((($iv+($pok['atk']*2)+($ev/4))*($lvl/100))+5)*1;
   $def = ((($iv+($pok['def']*2)+($ev/4))*($lvl/100))+5)*1;
   $satk = ((($iv+($pok['satk']*2)+($ev/4))*($lvl/100))+5)*1;
   $sdef = ((($iv+($pok['sdef']*2)+($ev/4))*($lvl/100))+5)*1;
   $speed = ((($iv+($pok['speed']*2)+($ev/4))*($lvl/100))+5)*1;
   $atk_zapr = first('SELECT *, CEIL(RAND()*atac_id) as chance FROM attac_poke WHERE poke_base_id=%d AND atc_lvl < 4 ORDER BY chance DESC',$pok['id']);
   insert('pokemon_user',array(
   'base_id'=>$pok['id'],
   'name'=>$pok['title'],
   'user'=>$user_reg,
   'img_pok'=>$pok['img'],
   'level'=>$lvl,
   'sex'=>$sex,
   'har'=>13,
   'hp_now'=>$hp,
   'hp_max'=>$hp,
   'hp_iv'=>$iv,
   'atk'=>$atk,
   'atk_iv'=>$iv,
   'def'=>$def,
   'def_iv'=>$iv,
   'satk'=>$satk,
   'satk_iv'=>$iv,
   'sdef'=>$sdef,
   'sdef_iv'=>$iv,
   'speed'=>$speed,
   'speed_iv'=>$iv,
   'start_new'=>1,
   'endurance_min'=>100,     
   'endurance_max'=>100,
   'ev'=>$ev,
   'exp'=>50,
   'exp_b'=>150,
   'start'=>1,
   'active'=>1,
   'razveden'=>1,
   'atc_one'=>$atk_zapr['atac_id'],
   ));
   
   insert('items_users',array(
   'item_id'=>1,
   'user_id'=>$user_reg,
   'count'=>500));
   insert('items_users',array(
   'item_id'=>23,
   'user_id'=>$user_reg,
   'count'=>15));
   
   print("<span style=\"color: black;\">Пользователь: $aLogin, Датой рождения: $aDate удачно зарегистрирован! <br><br>  $vozvrat2 </span>");} else {
   print("<span style=\"color: black;\">Пользователь с логином: $aLogin уже есть в игре, выберите другой логин! <br><br> $vozvrat </span>");}
   mysql_close();
   }else{
   echo "<script>alert('Вы ввели неправильные цифры с картинки!'); location.href='index.php?go=reg';</script>"; exit;} ?>
</CENTER>
</body>
</html>