52 lines
2.7 KiB
PHP
52 lines
2.7 KiB
PHP
<?php
|
||
session_start();
|
||
$hreject = $_COOKIE[GAMEDOMAIN] ?? null;
|
||
if ($hreject) {
|
||
$error = "Не больше одной регистрации в час!";
|
||
} else {
|
||
require_once "config.php";
|
||
$login = $_POST['login'] ?? '';
|
||
$password = password_hash($_POST['psw'], PASSWORD_DEFAULT) ?? null;
|
||
$birthday = $_POST['birthday'] ?? null;
|
||
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
|
||
$law = filter_input(INPUT_POST, 'law', FILTER_VALIDATE_BOOLEAN);
|
||
$law2 = filter_input(INPUT_POST, 'law2', FILTER_VALIDATE_BOOLEAN);
|
||
$ip = filter_input(INPUT_SERVER, 'REMOTE_ADDR', FILTER_VALIDATE_IP);
|
||
|
||
if ($login && $password && $email && $birthday && $law && $law2) {
|
||
$check = db::c()->query('SELECT 1 FROM `users` WHERE `login` = "?s" OR `email` = "?s"', $login, $email)->getNumRows();
|
||
if ($check > 0) {
|
||
$error = "В системе уже есть такие данные!";
|
||
} else {
|
||
db::c()->query('INSERT INTO `users` (`login`,`pass`,`email`,`borndate`,`ip`,`sid`)
|
||
VALUES ("?s", "?s", "?s", "?s", "?s", "?s")', $login, $password, $email, $birthday, $ip, session_id());
|
||
$nid = db::c()->getLastInsertId();
|
||
db::c()->query('INSERT INTO `online` (`user_id`, `date`, `room`) VALUES (?i, ?i, ?i)', $nid, time(), 1);
|
||
db::c()->query('INSERT INTO `bank` (`user_id`) VALUES (?i)', $nid, 5);
|
||
setcookie(GAMEDOMAIN, $nid, time() + 3600);
|
||
setcookie("battle", time());
|
||
$_SESSION['uid'] = $nid;
|
||
$_SESSION['sid'] = session_id();
|
||
header('Location: fight.php');
|
||
exit;
|
||
}
|
||
}
|
||
}
|
||
Template::header('Регистрация персонажа');
|
||
?>
|
||
<a href="/"> ← на главную</a>
|
||
<?php if (!empty($error)): ?>
|
||
<h1><?php echo $error; ?></h1>
|
||
<?php else: ?>
|
||
<h1>Регистрация</h1>
|
||
<form method="post">
|
||
<input required name="login" placeholder='Имя персонажа'><br>
|
||
<input required name="email" type=email placeholder='Электронная почта'><br>
|
||
<input required name="psw" type=text placeholder='Пароль'><br>
|
||
<label for="bday">Дата рождения:</label><br>
|
||
<input required id="bday" name="birthday" type='date' min=1960-01-01 max=2010-01-01><br>
|
||
<input required id="law" name="law" type=checkbox> <label for="law">Это мой единственный персонаж!</label><br>
|
||
<input required id="law2" name="law2" type=checkbox> <label for="law2">Я согласен на <a href='#'>любые условия</a>, давайте играть!</label><br>
|
||
<input type=submit value=Зарегистрироваться>
|
||
</form>
|
||
<?php endif; ?>
|