Файл: save.php
Строк: 78
<?php
include_once ('core/base.php');
$header = 'Сохранение персонажа';
include_once ('core/head.php');
falseauth();
if($u['save'] == 1){
header('Location: /');
exit;
}
if(isset($_REQUEST['success'])){
$login = fl($_POST['login']);
$pass = fl($_POST['pass']);
$repass = fl($_POST['repass']);
$email = fl($_POST['email']);
$sql = $base -> query('SELECT `id` FROM `users` WHERE `login` = "'.$login.'" LIMIT 1') -> num_rows; # Доступность логина
$sql2 = $base -> query('SELECT `id` FROM `users` WHERE `email` = "'.$email.'" LIMIT 1') -> num_rows; # Доступность электронной почты
if($sql > 0) error('Такой логин уже занят.');
elseif($sql2 > 0) error('Такая электронная почта уже занята.');
elseif(empty($login)) error('Введите логин.');
elseif(empty($pass)) error('Введите пароль.');
elseif(empty($repass)) error('Введите повторный пароль.');
elseif(empty($email)) error('Введите электронную почту.');
elseif (!preg_match('/[0-9a-z_-]+@[0-9a-z_-^.]+.[a-z]{2,6}/i', $email)) error('Неверный формат электронной почты.');
elseif(!preg_match('|^[a-z0-9-]+$|i', $pass)) error('Кириллица в пароле запрещена.');
elseif(mb_strlen($login) < 3 || mb_strlen($login) > 10) error('Логин должен содержать не менее 3 символов и не более 10.');
elseif(mb_strlen($pass) < 6 || mb_strlen($pass) > 15) error('Пароль должен содержать не менее 6 символов и не более 15.');
elseif($pass !== $repass) error('Введенные пароли не совпадают.');
elseif($login == $pass) error('Логин и пароль не должны совпадать.');
else{
$vip_time = time() + (60 * 60 * 24);
$code = generateCode($length = 10);
$base -> query("UPDATE `users` SET
`login` = '".$login."',
`password` = '".md5($pass)."',
`email` = '".$email."',
`save` = '1',
`vip` = '1',
`vip_time` = '".$vip_time."',
`activation_code` = '".$code."',
`activation` = '0' WHERE `id` = '".$u['id']."' LIMIT 1");
$message = '
Здравствуйте, '.$u['login'].'. n
Для привязки Вашего аккаунта к E-mail перейдите по ссылке: <a href="http://avalor.mobi/activation/'.$code.'">http://avalor.mobi/activation/'.$code.'</a> n
--------- n
Если Вы не собирались привязывать E-mail в AVALOR.mobi, то проигнорируйте данное письмо.
';
mail($email, "Подтверждение E-mail в AVALOR.mobi", $message, "Content-type:text/plain; Charset=utf-8rn");
setcookie('login', $login, time()+86400*365, '/');
setcookie('password', md5($pass), time()+86400*365, '/');
$base -> query("INSERT INTO `chat` (`user`,`text`,`time`) VALUES (1,'Приветствуем новичка ".$login."!','".time()."')");
if($u['training_step'] == 15) header('location: /training/next/');
else header('location: /');
}
}
echo '<div class="b" style="position: relative;">';
if($u['training_step'] == 15) echo '<div style="position: absolute; bottom: 9%; right: 38%; z-index: 9999;"><img src="/images/cursor.gif"></div>';
echo '<div class="title">Сохранение персонажа</div>';
echo '<div class="event"><center>
Сохранив персонажа, вы получите <img src="/images/icons/vip.png"><font color="gold"><b>VIP</b></font> на сутки!
</center></div>';
echo '<center>';
echo '<form action="" method="POST">';
echo 'Имя персонажа:<br/>';
echo '<input type="text" name="login" value="'.$u['login'].'" placeholder="Введите имя персонажа." /> <br/>';
echo 'Пароль: <br/>';
echo '<input type="password" name="pass" value="" placeholder="Введите пароль." /> <br/>';
echo 'Повторите пароль: <br/>';
echo '<input type="password" name="repass" value="" placeholder="Введите пароль ещё раз." /> <br/>';
echo 'Электронная почта: <br/>';
echo '<input type="text" name="email" value="@" placeholder="Введите электронную почту." /> <br/>';
echo '<input type="submit" name="success" value="Сохранить">';
echo '</form>';
echo '</center>';
echo '<a class="btn" href="javascript:history.go(-1)"><img src="/images/icons/back.png"> Назад</a>';
echo '</div>';
include_once ('core/foot.php');
?>