Обучение/Помощь новичкам | Что не так ?
<?php
$rootpath = '';
$title = 'Регистрация';
include_once $rootpath.'incfiles/head.php';
if(isset ($_POST['submit'])){
//принимаем переменные
$error = array();//создаём массив. Если есть ошибки то помешаем их в массив
//провеляем логин
if(empty($login))
$error['error_login'] = 'Вы не ввели ник';
elseif(mb_strlen($login) <5 || mb_strlen($login) > 15)
$error['error_login'] = 'Длина логина должна быть от 5 до 15 знаков';
//проверка на занятость логина
$q = mysql_query("SELECT * FROM `users` WHERE `login`='".$login."' LIMIT 1");
if(mysql_num_rows($q))
$error['error_login'] = 'Этот ник уже занят';
//проверка пароля
if(empty($pass))
$error['error_pass'] = 'Вы не ввели пароль';
elseif(mb_strlen($pass) <5 || mb_strlen($pass) > 10)
$error['error_pass'] = 'Длина пароля должна быть от 5 до 10 знаокв';
//проверка пров.пароля
if(empty($repass))
$error['error_repass'] = 'Вы не ввели проверочный пароль';
if($pass != $repass)
$error['error_repass'] = 'Проверочный пароль не совпадает';
//проверка email-a
if(empty ($email))
$error['error_email'] = 'Вы не ввели email';
elseif(!eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$", $email))
$error['error_email'] = 'Неправильная запись email. Правильная запись выглядит так: email@email.ru';
//проверка на согласие с правилами
if($sog != "ok")
$error['error_sog'] = 'Вы не согласились с правилами';
if(empty ($race))
$error['error_email'] = 'Не выбрана расса';
if(empty ($sex))
$error['error_email'] = 'Не выбран пол';
//skill рассам
if($race == 'human'){
$sil = 8;
$lovk = 5;
$int = 4;
$hp = 14;
$mp = 10;
$udar = 5;
$udarmax = 7;
}
if($race == 'gnom'){
$sil = 6;
$lovk = 4;
$int = 4;
$hp = 15;
$mp = 10;
$udar = 4;
$udarmax = 7;
}
if($race == 'ork'){
$sil = 10;
$lovk = 2;
$int = 4;
$hp = 20;
$mp = 7;
$udar = 5;
$udarmax = 8;
}
if($race == 'elf'){
$sil = 6;
$lovk = 4;
$int = 4;
$hp = 17;
$mp = 7;
$udar = 4;
$udarmax = 7;
}
$passs = md5($pass);
if(empty($error)){
mysql_query("INSERT INTO `users` SET
`login`='$login',
`pass`='$passs',
`sex`='$sex',
`email`='$email',
`race`='$race',
`date`=NOW(),
`sila`='$sil',
`hp`='$hp',
`hpmax`='$hp',
`mp`='$mp',
`mpmax`='$mp',
`udar`='$udar',
`udarmax`='$udarmax',
`lvl`='0',
`opt`='0',
`gold`='0',
`um`='$int',
`nextlvl`='35',
`mail`='0',
`lovk`='$lovk',
`x`='0',
`y`='0',
`win`='0',
`lol`='0',
`adm`='0',
`def`='0',
`skill`='3',
`gorod`='strannik'
");
mysql_query("INSERT INTO `setting` SET
`logid`='$login',
`img`='1',
`logboi`='5'
");
echo 'Поздравляем! Вы зарегистрировались в нашей игре!<br/>';
echo 'Ваш ник: '.$login.'<br/>';
echo 'Ваш парль: '.$pass.'<br/>';
echo 'Приятной игры!<br/>';
echo '<a href="game.php">Войти</a>';
include_once $rootpath.'incfiles/foot.php';
exit;
}
}
/*
--------------------------------------------------
Форма регистрации
--------------------------------------------------
*/
echo '<form method="post" action="registration.php">'.
(isset ($error['error_login']) ? '<div class="error">'.$error['error_login'].'</div>' : '').
'<b>Ник</b> *(max 15)Название вашего персонажа в игре<br/>
<input class="button" name="login" maxlength="15" title="Ник" emptyok="true"><br/>'.
(isset ($error['error_pass']) ? '<div class="error">'.$error['error_pass'].'</div>' : '').'
<b>Пароль</b> *минимум 5 символов<br/>
<input class="button" name="pass" type="password" maxlength="10" title="Пароль" emptyok="true"/><br/>'.
(isset ($error['error_repass']) ? '<div class="error">'.$error['error_repass'].'</div>' : '').'
<b>Повторите пароль</b><br/>
<input class="button" name="repass" type="password" maxlength="10" title="Повторите пароль" emptyok="true"/><br/>'.
(isset ($error['error_email']) ? '<div class="error">'.$error['error_email'].'</div>' : '').'
<b>Email</b> *Указывайте свой реальный Email так как с помощю него вы сможете востановить пароль<br/>
<input class="button" name="email" maxlength="30" title="Электроная почта" emptyok="true"/><br/>
Пол:<br/><select name="sex">
<option value="man">Мужчина</option>
<option value="woman">Женщина</option>
</select><br/>
Тип:<br/><select name="race">
<option value="human">Человек</option>
<option value="elf">Эльф</option>
<option value ="gnom">Гном</option>
<option value ="ork">Орк</option>
</select><br/>'.
(isset ($error['error_sog']) ? '<div class="error">'.$error['error_sog'].'</div>' : '').'
Согласны с <b>правилами</b> игры?<br>
<input type="checkbox" name="s
$rootpath = '';
$title = 'Регистрация';
include_once $rootpath.'incfiles/head.php';
if(isset ($_POST['submit'])){
//принимаем переменные
$error = array();//создаём массив. Если есть ошибки то помешаем их в массив
//провеляем логин
if(empty($login))
$error['error_login'] = 'Вы не ввели ник';
elseif(mb_strlen($login) <5 || mb_strlen($login) > 15)
$error['error_login'] = 'Длина логина должна быть от 5 до 15 знаков';
//проверка на занятость логина
$q = mysql_query("SELECT * FROM `users` WHERE `login`='".$login."' LIMIT 1");
if(mysql_num_rows($q))
$error['error_login'] = 'Этот ник уже занят';
//проверка пароля
if(empty($pass))
$error['error_pass'] = 'Вы не ввели пароль';
elseif(mb_strlen($pass) <5 || mb_strlen($pass) > 10)
$error['error_pass'] = 'Длина пароля должна быть от 5 до 10 знаокв';
//проверка пров.пароля
if(empty($repass))
$error['error_repass'] = 'Вы не ввели проверочный пароль';
if($pass != $repass)
$error['error_repass'] = 'Проверочный пароль не совпадает';
//проверка email-a
if(empty ($email))
$error['error_email'] = 'Вы не ввели email';
elseif(!eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$", $email))
$error['error_email'] = 'Неправильная запись email. Правильная запись выглядит так: email@email.ru';
//проверка на согласие с правилами
if($sog != "ok")
$error['error_sog'] = 'Вы не согласились с правилами';
if(empty ($race))
$error['error_email'] = 'Не выбрана расса';
if(empty ($sex))
$error['error_email'] = 'Не выбран пол';
//skill рассам
if($race == 'human'){
$sil = 8;
$lovk = 5;
$int = 4;
$hp = 14;
$mp = 10;
$udar = 5;
$udarmax = 7;
}
if($race == 'gnom'){
$sil = 6;
$lovk = 4;
$int = 4;
$hp = 15;
$mp = 10;
$udar = 4;
$udarmax = 7;
}
if($race == 'ork'){
$sil = 10;
$lovk = 2;
$int = 4;
$hp = 20;
$mp = 7;
$udar = 5;
$udarmax = 8;
}
if($race == 'elf'){
$sil = 6;
$lovk = 4;
$int = 4;
$hp = 17;
$mp = 7;
$udar = 4;
$udarmax = 7;
}
$passs = md5($pass);
if(empty($error)){
mysql_query("INSERT INTO `users` SET
`login`='$login',
`pass`='$passs',
`sex`='$sex',
`email`='$email',
`race`='$race',
`date`=NOW(),
`sila`='$sil',
`hp`='$hp',
`hpmax`='$hp',
`mp`='$mp',
`mpmax`='$mp',
`udar`='$udar',
`udarmax`='$udarmax',
`lvl`='0',
`opt`='0',
`gold`='0',
`um`='$int',
`nextlvl`='35',
`mail`='0',
`lovk`='$lovk',
`x`='0',
`y`='0',
`win`='0',
`lol`='0',
`adm`='0',
`def`='0',
`skill`='3',
`gorod`='strannik'
");
mysql_query("INSERT INTO `setting` SET
`logid`='$login',
`img`='1',
`logboi`='5'
");
echo 'Поздравляем! Вы зарегистрировались в нашей игре!<br/>';
echo 'Ваш ник: '.$login.'<br/>';
echo 'Ваш парль: '.$pass.'<br/>';
echo 'Приятной игры!<br/>';
echo '<a href="game.php">Войти</a>';
include_once $rootpath.'incfiles/foot.php';
exit;
}
}
/*
--------------------------------------------------
Форма регистрации
--------------------------------------------------
*/
echo '<form method="post" action="registration.php">'.
(isset ($error['error_login']) ? '<div class="error">'.$error['error_login'].'</div>' : '').
'<b>Ник</b> *(max 15)Название вашего персонажа в игре<br/>
<input class="button" name="login" maxlength="15" title="Ник" emptyok="true"><br/>'.
(isset ($error['error_pass']) ? '<div class="error">'.$error['error_pass'].'</div>' : '').'
<b>Пароль</b> *минимум 5 символов<br/>
<input class="button" name="pass" type="password" maxlength="10" title="Пароль" emptyok="true"/><br/>'.
(isset ($error['error_repass']) ? '<div class="error">'.$error['error_repass'].'</div>' : '').'
<b>Повторите пароль</b><br/>
<input class="button" name="repass" type="password" maxlength="10" title="Повторите пароль" emptyok="true"/><br/>'.
(isset ($error['error_email']) ? '<div class="error">'.$error['error_email'].'</div>' : '').'
<b>Email</b> *Указывайте свой реальный Email так как с помощю него вы сможете востановить пароль<br/>
<input class="button" name="email" maxlength="30" title="Электроная почта" emptyok="true"/><br/>
Пол:<br/><select name="sex">
<option value="man">Мужчина</option>
<option value="woman">Женщина</option>
</select><br/>
Тип:<br/><select name="race">
<option value="human">Человек</option>
<option value="elf">Эльф</option>
<option value ="gnom">Гном</option>
<option value ="ork">Орк</option>
</select><br/>'.
(isset ($error['error_sog']) ? '<div class="error">'.$error['error_sog'].'</div>' : '').'
Согласны с <b>правилами</b> игры?<br>
<input type="checkbox" name="s
Не происходит регистрация (
og" value="ok">Да<br>
<input type="submit" name="submit" value="Зарегистрировать"/></form>';
include_once $rootpath.'incfiles/foot.php';
?>
Завершение кода после name="s
<input type="submit" name="submit" value="Зарегистрировать"/></form>';
include_once $rootpath.'incfiles/foot.php';
?>
Завершение кода после name="s
С удовольствием бы помог, но
и почему 100500 условий без elseif?)
а mb_strlen спецом без указания кодировки юзаешь?
с каких пор mysql_num_rows стало предпочтительнее count?
почему бы в запросах не указывать дефолтные значения на уровне sql и не усложнять запрос в 5 раз?
зачем выводить форму и считать заново все данные если пользователь ввел данные с ошибками?
собственно я о чем, слава богу что регистрация не проходит и такой ужас не попадает в релиз
Пользователь находится на доске позора!
и почему 100500 условий без elseif?)
а mb_strlen спецом без указания кодировки юзаешь?
с каких пор mysql_num_rows стало предпочтительнее count?
почему бы в запросах не указывать дефолтные значения на уровне sql и не усложнять запрос в 5 раз?
зачем выводить форму и считать заново все данные если пользователь ввел данные с ошибками?
собственно я о чем, слава богу что регистрация не проходит и такой ужас не попадает в релиз
и кстати, чувак. когда бабки то вернешь?