battles/register.php

52 lines
2.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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; ?>