Файл: reg.php
Строк: 170
<?php
require_once('conf/dbc.php');
require_once('conf/session_start.php');
require_once('conf/ban.php');
if ((isset($_SESSION['id'])) and (isset($_SESSION['nick']))) {
header ('Location: index.php');
}
else {
$page_title = 'Регистрация';
require_once('conf/head.php');
?>
<div id="main">
<div class="stats">
<p class="podmenu"><center><img src="/img/ico/logo1.png" height="160" width="240" alt="*"/></center></p>
</div>
<link href="style/main.css" rel="stylesheet" type="text/css"></link>
</head>
<body>
<div style="border-left:1px solid #444e4f;border-right:1px solid #444e4f;">
<div class="regf">
<center></center>
<center>
<p style="border-top: solid 1px #444e4f;"></p>
<div id="main">
<div class="stats">
<p class="podmenu">Регистрация</p>
</div>
<?php
$err_login = $_GET['err_login'];
if (!empty($err_login)) { ?> <div id="error"><p>Для начала вам нужно пройти регистрацию или войти в свой профиль.</p></div><?php }
if(isset($_POST['reg'])) {
require_once('conf/dbc.php');
$nick = mysqli_real_escape_string($dbc, trim($nick));
$pass = mysqli_real_escape_string($dbc, trim($pass));
$mail = mysqli_real_escape_string($dbc, trim($mail));
?>
<div id="error">
<?php
$nick = $_POST['nick'];
echo "nick: ". $nick;
$group = $_POST['group'];
$sex = $_POST['sex'];
$pass = $_POST['pass'];
$repass = $_POST['repass'];
$mail = $_POST['mail'];
$reg=1;
$validNick = "[A-ZА-Яa-zа-я_-]{3,16}";
$formail = '#^[A-z0-9-._]+@[A-z0-9]{2,}.[A-z]{2,4}$#ui';
if ((empty($nick)) or (!isset($nick))){
?>
<p>Вы не ввели ник</p>
<?php
$reg = 0;
}
else {
$query = "Select id from users where nick = '$nick' limit 1";
$result = mysqli_query($dbc, $query) or die ('Ошибка передачи запроса к БД');
$row = mysqli_fetch_array($result);
if ($row != 0) {
?>
<p>Такой ник уже есть</p>
<?php
$reg = 0;
}
$long_nick = strlen($nick);
if (($long_nick<3) or ($long_nick>16)){
?> <p>Ник должен быть в пределах от 3 до 16 символов</p>
<?php
$reg = 0;
}
if(preg_match($validNick, $nick)) {
?>
<p>Ник должен содержать только русские или английские буквы.</p>
<p>Или же в вашем нике имеются запрещенные символы или цифры в нике.</p>
<?php
$reg = 0;
}
}
if ((isset($group)) and (!empty($group))) {
if (
($group != 'dolg') and
($group != 'odinochki') and
($group != 'svoboda')) {
?>
<p>Подмена данных</p>
<?php
$reg=0;
}
}
else {
?>
<p>Вы не выбрали группировку</p>
<?php
$reg=0;
}
if ((isset($sex)) and (!empty($sex))) {
if (($sex != 'male') and ($sex != 'female')) {
?>
<p>Подмена данных</p>
<?php
$reg=0;
}
}
else {
?>
<p>Вы не выбрали пол</p>
<?php
$reg=0;
}
if ((isset($mail)) and (!empty($mail))) {
if (!preg_match($formail, $mail)) {
?>
<p>Неверный e-mail</p>
<?php
$reg=0;}
$query = "Select * from users where mail = '$mail'";
$result = mysqli_query($dbc, $query) or die ('Ошибка передачи запроса к БД');
$row = mysqli_fetch_array($result);
if ($row != 0) {
?>
<p>Такой e-mail уже есть</p>
<?php
$reg = 0;
}
}
else {
?>
<p>Вы не ввели e-mail</p>
<?php
$reg=0;
}
if ((isset($pass)) and (!empty($pass))) {
if (strlen($pass)<3) {
?>
<p>Длина пароля меньше 3 символов</p>
<?php
$reg = 0;
}
if (strlen($pass)>16) {
?>
<p>Длина пароля превышает 16 символа</p>
<?php
$reg = 0;
}
if ((isset($repass)) and (!empty($repass))) {
if (($repass) <> ($pass)) {
?>
<p>Пароли не совпадают</p>
<?php
$reg = 0;
}
}
else {
?>
<p>Вы не ввели подтверждение пароля</p>
<?php
$reg = 0;
}
}
else {
?>
<p>Вы не ввели пароль</p>
<?php
$reg = 0;
}
if ($reg == 1) {
if ($group == 'odinochki') {
$group = 'naemniki';
}
if ($sex == 'male') {
$avatar = '1.png';
}
else {
$avatar = '2.png';
}
$nicks = strtr ($nick, 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯQWERTYUIOPASDFGHJKLZXCVBNM', 'абвгдеёжзийклмнопрстуфхцчшщъыьэюяqwertyuiopasdfghjklzxcvbnm');
$user_top = $_SESSION['id'];
$salt = '';
$length = rand(10,16);
for($i=0; $i<$length; $i++) {
$salt .= chr(rand(33,126));
}
$pass = ($pass.$salt);
$nickcode = ($salt.$nicks.$salt);
$ip = getenv("REMOTE_ADDR");
$query = "select id_invite from invite where ip='$ip' limit 1";
$result = mysqli_query($dbc, $query) or die ('Ошибка передачи запроса к БД');
$row = mysqli_fetch_array($result);
$id_inv = $row['id_invite'];
$query = "delete from invite where ip='$ip'";
$result = mysqli_query($dbc, $query) or die ('Ошибка передачи запроса к БД');
$query = "insert into users (`nick`, `nickcode`, `password`, `invite`, `salt`, `sex`, `gruppa`, `timereg`, `last_active`, `mail`, `avatar`, `location`) values ('$nick', sha( '$nickcode ' ), sha( '$pass' ), '$id_inv', '$salt', '$sex', '$group', now(), now(), '$mail', '$avatar', 'index')";
$result = mysqli_query($dbc, $query) or die ('Попробуйте обновить страницу');
$query = "Select id, nick from users where nick = '$nick'";
$result = mysqli_query($dbc, $query) or die ('Попробуйте обновить страницу');
$row = mysqli_fetch_array($result);
$user_id = $row['id'];
/* //1) Пистолет
$query_pist = "insert into things (`user_id`, `stat1`, `stat2`, `stat3`, `speed`, `sost`, `inf_id`,`privat`,`place`,`type`) values ('$user_id',350,350,72 ,6, '8', '1','1','2','2')";
$result_pist = mysqli_query($dbc, $query_pist) or die ('Попробуйте обновить страницу');
//2) Одежда
$query_cloth = "insert into things (`user_id`, `stat1`, `stat2`,`stat3`, `speed`, `sost`, `inf_id`,`type`,`privat`,`place`) values ('$user_id','600', '600', '600', '3', '8', '1', '1', '1','2')";
$result_cloth = mysqli_query($dbc, $query_cloth) or die ('Попробуйте обновить страницу');
*/
$query_hp = "update users set habar = '2500', hp = '600', max_hp = '600', bronya = '600', razriv_cl='600', sost_cl = '8', speed_p = '6', tochn_p = '350', yron_p = '350',radiation='3', safety_p= '72', sost_p = '8' where id = '$user_id'";
$result_hp = mysqli_query($dbc, $query_hp) or die ('Попробуйте обновить страницу');
$_SESSION['id'] = $row['id'];
$_SESSION['nick'] = $row['nick'];
?>
<script type="text/javascript">
document.location.href = "study.php?step=1";
</script>
<?php
exit();
}
}
$nickbot= $_POST['nick'];
$nickbot = htmlentities($nickbot, ENT_QUOTES);
$mailbot= $_POST['mail'];
$mailbot = htmlentities($mailbot, ENT_QUOTES);
$passbot= $_POST['pass'];
$passbot = htmlentities($passbot, ENT_QUOTES);
$repassbot= $_POST['repass'];
$repassbot = htmlentities($repassbot, ENT_QUOTES);
?>
</div>
<form enctype="multipart/form-data" method="post" action="<? $_SERVER['PHP_SELF']; ?>">
<div class="stats">
<label for="nick">Ник:</label><br />
<input type="text" class="input" value="" name="nick" /><br />
<label for="group">Группировка:</label><br />
<select name="group" class="input" size="1">
<option value="dolg" <? if ($_POST['group'] == dolg) {?>selected="selected"<?php }?>>Долг</option>
<option value="odinochki" <? if ($_POST['group'] == odinochki) {?>selected="selected"<?php }?>>Одиночки</option>
<option value="svoboda" <? if ($_POST['group'] == svoboda) {?>selected="selected"<?php }?>>Свобода</option>
</select><br />
<label for="sex">Пол:</label><br />
<select name="sex" class="input" size="1">
<option value="male" <? if ($_POST['sex'] == male) {?>selected="selected"<?php }?>>Мужской</option>
<option value="female" <? if ($_POST['sex'] == female) {?>selected="selected"<?php }?> >Женский</option>
</select><br />
<label for="mail">E-mail:</label><br />
<input type="text" class="input" name="mail" value="<?php echo "$mailbot"; ?>" /><br />
<label for="pass">Пароль:</label><br />
<input type="password" class="input" name="pass" value="" /><br />
<label for="repass">Повторите пароль:</label><br />
<input type="password" class="input" name="repass" value=""/>
<div class="knopka">
<input type="submit" class="input" value="Регистрация" name="reg" />
</div>
<p class="clothes">
[Фактом регистрации вы принимаете
<a href="accept.php">
соглашение
</a>
]
</p>
<br></br>
</div>
</form>
</center>
<div class="link">
<a class="link" href="login.php">
<img src="img/ico/link.png"></img>
Уже зарегистрированы?
</a>
<br />
</div>
<?php
require_once('conf/navig.php');
}
mysqli_close($dbc);
?>
</body>
</html>