Файл: public/auth/signUp.php
Строк: 62
<?php
# Author: Oleg Kulaga (Cyber_Shot);
# Package: WGame Engine;
# Version: 0.1;
define("APP", true);
# Connect config;
require_once ('../../app/config.php');
# Check user auth;
user_auth();
$module = 'auth/signUp';
view_header(app_getConfig($module, 'title'));
if (app_getConfig($module, 'close') == 1) 
{
    ?> 
<div class="block" style="text-align: center;"> 
    Данный модуль закрыт администратором.
</div>
    <?php
} 
else 
{
    if (filter_has_var(INPUT_POST, 'signUp')) 
    {
        $data               = $_POST;
        $data['login']      = data_in($data['login']);
        $data['password']   = data_in($data['password']);
        # Error Handler;
        if (empty($data['login'])) 
        {
            view_notifierAdd('Введите логин.', '?');
            exit();
        } 
        else if (empty($data['password'])) 
        {
            view_notifierAdd('Введите пароль.', '?');
            exit();
        } 
        else if (mb_strlen($data['login']) < 4 || mb_strlen($data['login']) > 15) 
        {
            view_notifierAdd('Логин должен быть в диапазоне [4-15].', '?');
            exit();
        } 
        else if (mb_strlen($data['password']) < 6 || mb_strlen($data['password']) > 15) 
        {
            view_notifierAdd('Логин должен быть в диапазоне [6-15].', '?');
            exit();
        } 
        else if (is_numeric($data['login'])) 
        {
            view_notifierAdd('Логин не может состоять с одних чисел.', '?');
            exit();
        } 
        else if (is_numeric($data['password'])) 
        {
            view_notifierAdd('Пароль не может состоять с одних чисел.', '?');
            exit();
        } 
        else 
        {
            $checkLogin = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ". USERS ." WHERE `login` = ?", [$data['login']]);
            if (!empty($checkLogin)) 
            {
                view_notifierAdd('Данный логин уже занят.', '?');
                exit();
            } 
            else 
            {
                DB::$dbs->query("INSERT INTO ". USERS ." (`login`, `password`, `level`, `strike`, `defend`, `health`, `maxHealth`) VALUES (?, ?, ?, ?, ?, ?, ?)", 
                                [$data['login'], 
                                password_hash($data['password'], PASSWORD_DEFAULT), 
                                app_getConfig($module, 'rLevel'), 
                                app_getConfig($module, 'rStrike'), 
                                app_getConfig($module, 'rDefend'), 
                                app_getConfig($module, 'rHealth'), 
                                app_getConfig($module, 'rMaxHealth')]);
                view_notifierAdd('Вы успешно зарегистрированы в игре. Используйте свои данные для входа в игру.', DS . HOME .'/wgame.index');
                exit();
            }
        }
    }
    ?> 
<div class="block"> 
    <form method="POST"> 
        <b>Введите имя:</b><br/> 
        <input type="text" name="login"><br/> 
        <b>Введите пароль:</b><br/> 
        <input type="text" name="password"><br/> 
        <input type="submit" name="signUp" value="Зарегистрировать">
    </form>
</div>  
    <?php
} 
view_footer();