2018-03-01 20:43:46 +02:00
|
|
|
|
<?php
|
2021-01-27 17:56:04 +02:00
|
|
|
|
|
2022-01-27 01:15:33 +02:00
|
|
|
|
use Battles\Template, Battles\Database\Db;
|
2021-01-27 17:56:04 +02:00
|
|
|
|
|
2020-10-27 21:55:51 +02:00
|
|
|
|
require_once "config.php";
|
2021-01-29 18:08:48 +02:00
|
|
|
|
|
2020-10-27 21:55:51 +02:00
|
|
|
|
if ($_COOKIE[GAMEDOMAIN] ?? null) {
|
2018-01-28 18:40:49 +02:00
|
|
|
|
$error = "Не больше одной регистрации в час!";
|
|
|
|
|
} else {
|
2020-10-27 21:55:51 +02:00
|
|
|
|
$login = $_POST['login'] ?? null;
|
2021-01-29 18:08:48 +02:00
|
|
|
|
$password = isset($_POST['psw']) ? password_hash($_POST['psw'], PASSWORD_DEFAULT) : null;
|
2020-09-30 01:39:06 +03:00
|
|
|
|
$birthday = $_POST['birthday'] ?? null;
|
2018-01-28 18:40:49 +02:00
|
|
|
|
$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);
|
|
|
|
|
|
|
|
|
|
if ($login && $password && $email && $birthday && $law && $law2) {
|
2021-01-27 17:56:04 +02:00
|
|
|
|
$newUser = new class {
|
|
|
|
|
public static function addUser(string $login, string $password, string $email, string $birthday): bool
|
|
|
|
|
{
|
2022-01-27 01:15:33 +02:00
|
|
|
|
if (Db::getInstance()->ofetch('SELECT 1 FROM users WHERE login = ? OR email = ?', [$login, $email])) {
|
2021-01-27 17:56:04 +02:00
|
|
|
|
return false;
|
|
|
|
|
}
|
2022-01-27 01:15:33 +02:00
|
|
|
|
Db::getInstance()->execute('INSERT INTO users (login,pass,email,borndate,ip,session_id,shadow)
|
2021-03-10 23:22:35 +02:00
|
|
|
|
VALUES (?,?,?,?,?,?,?)', [$login, $password, $email, $birthday, $_SERVER['REMOTE_ADDR'], session_id(), '0.png']);
|
2022-01-27 01:15:33 +02:00
|
|
|
|
$userId = Db::getInstance()->lastInsertId();
|
|
|
|
|
Db::getInstance()->execute('INSERT INTO online (user_id, login_time, room, real_time) VALUES (?,?,1,?)', [$userId, time(), time()]);
|
|
|
|
|
Db::getInstance()->execute('INSERT INTO bank (user_id) VALUES ?', $userId);
|
2021-01-29 18:08:48 +02:00
|
|
|
|
setcookie(GAMEDOMAIN, $userId, time() + 3600);
|
2021-01-27 17:56:04 +02:00
|
|
|
|
setcookie("battle", time());
|
2021-01-29 18:08:48 +02:00
|
|
|
|
$_SESSION['uid'] = $userId;
|
2021-01-27 17:56:04 +02:00
|
|
|
|
$_SESSION['sid'] = session_id();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
};
|
2021-01-29 18:08:48 +02:00
|
|
|
|
|
2021-01-27 17:56:04 +02:00
|
|
|
|
$newUser::addUser($login, $password, $email, $birthday);
|
|
|
|
|
header('Location: fight.php');
|
|
|
|
|
exit;
|
2018-01-28 18:40:49 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
2021-01-27 17:56:04 +02:00
|
|
|
|
Template::header('Регистрация персонажа');
|
2018-01-28 18:40:49 +02:00
|
|
|
|
?>
|
2020-10-27 21:55:51 +02:00
|
|
|
|
<a href="/"> ← на главную</a>
|
2021-01-29 18:08:48 +02:00
|
|
|
|
<?php if (isset($error)): ?>
|
|
|
|
|
<h3><?= $error ?></h3>
|
2018-01-28 18:40:49 +02:00
|
|
|
|
<?php else: ?>
|
2020-10-27 21:55:51 +02:00
|
|
|
|
<h1>Регистрация</h1>
|
|
|
|
|
<form method="post">
|
2021-01-29 18:08:48 +02:00
|
|
|
|
<label>
|
|
|
|
|
<input required name="login" placeholder='Имя персонажа'> Имя персонажа.
|
|
|
|
|
</label><br>
|
|
|
|
|
<label>
|
|
|
|
|
<input required name="email" type=email placeholder='Электронная почта'> Электронная почта.
|
|
|
|
|
</label><br>
|
|
|
|
|
<label>
|
|
|
|
|
<input required name="psw" type=text placeholder='Пароль'> Пароль.
|
|
|
|
|
</label><br>
|
2020-10-27 21:55:51 +02:00
|
|
|
|
<label for="bday">Дата рождения:</label><br>
|
|
|
|
|
<input required id="bday" name="birthday" type='date' min=1970-01-01 max=2010-01-01><br>
|
|
|
|
|
<input required id="law" name="law" type=checkbox> <label for="law">Это мой единственный персонаж!</label><br>
|
2021-01-29 18:08:48 +02:00
|
|
|
|
<input required id="law2" name="law2" type=checkbox> <label for="law2">Я согласен на любые
|
|
|
|
|
условия, давайте играть!</label><br>
|
2020-10-27 21:55:51 +02:00
|
|
|
|
<input type=submit value=Зарегистрироваться>
|
|
|
|
|
</form>
|
2020-09-30 22:12:34 +03:00
|
|
|
|
<?php endif; ?>
|