Вход Регистрация
Файл: reg.php
Строк: 116
<?php

include 'sys/sid.php';
require 
'sys/config.php';
include 
'sys/user.php';
include 
'sys/head.php';

if (isset(
$_SESSION['us']) && isset($_SESSION['ps']))
{
    
header('Location: /');
    die();
}

if (isset(
$_POST['next']))
{
    
$nick = trim(mysql_real_escape_string(char($_POST['nick'], 0)));
    
$login = trim(mysql_real_escape_string(char($_POST['login'], 0)));
    
$pass = trim(mysql_real_escape_string(char($_POST['pass'], 0)));
    
$race = number($_POST['race']);
    
$code = trim(mysql_real_escape_string(char($_POST['code'], 0)));

    
$_COOKIE['nick'] = $nick;
    
$_COOKIE['login'] = $login;
    
$_COOKIE['pass'] = $pass;
    
$_COOKIE['race'] = $race;

    
$sql = mysql_query("SELECT `id` FROM `users` WHERE `login` = '$login' LIMIT 1");
    
$sql2 = mysql_query("SELECT `id` FROM `users` WHERE `nick` = '$nick' LIMIT 1");
    
$first_l = mb_substr($login, 0, 1, 'UTF-8');
    
$last_l = mb_substr($login, -1, 1, 'UTF-8');
    if (empty(
$login)) $error = 'Необходимо заполнить поле логин!';
    elseif (empty(
$nick)) $error = 'Необходимо заполнить поле ник!';
    elseif (
mb_strtolower($login, 'UTF-8') == mb_strtolower($nick, 'UTF-8')) $error = 'Логин не может быть таким же, как и ник!';
    elseif (!
preg_match('/^([a-z1-9_])+$/i', $login)) $error = 'Логин содержит запрещенные символы!';
    elseif (!
preg_match('#^([a-z1-9])+$#i', $first_l)) $error = 'Логин должен начинаться с буквы или цифры!';
    elseif (!
preg_match('#^([a-z1-9])+$#i', $last_l)) $error = 'Логин должен заканчиваться буквой или цифрой!';
    elseif (!
preg_match('/^([a-z1-9_])+$/i', $nick)) $error = 'Ник содержит запрещенные символы!';
    elseif (
mysql_num_rows($sql) != false) $error = 'Указанный Вами логин <b>' . $login . '</b> уже занят!';
    elseif (
mb_strlen($login, 'UTF-8') < 3) $error = 'Логин не должен содержать менее 3х знаков!';
    elseif (
mb_strlen($login, 'UTF-8') > 15) $error = 'Логин не должен превышать 15 знаков!';
    elseif (
ctype_digit($login)) $error = 'Логин не должен состоять из одних цифр!';
    elseif (
mysql_num_rows($sql2) != false) $error = 'Указанный Вами ник <b>' . $nick . '</b> уже занят!';
    elseif (
mb_strlen($nick, 'UTF-8') < 4) $error = 'Ник не должен содержать менее 4х знаков!';
    elseif (
mb_strlen($nick, 'UTF-8') > 10) $error = 'Ник не должен превышать 10 знаков!';
    elseif (
ctype_digit($nick)) $error = 'Ник не должен состоять из одних цифр!';
    elseif (empty(
$pass)) $error = 'Не заполнено поле пароль!';
    elseif (!
preg_match("!^[a-z0-9]+$!i", $pass)) $error = 'В пароле обнаружены запрещенные знаки!';
    elseif (
mb_strlen($pass, 'UTF-8') < 6) $error = 'Пароль не должен быть короче 6ти символов!';
    elseif (
mb_strlen($pass, 'UTF-8') > 20) $error = 'Пароль не должен быть длиннее 20ти символов!';
    elseif (
is_numeric($pass)) $error = 'Слишком простой пароль, используйте буквы и цифры!';
    elseif (empty(
$code)) { $error = 'Не введен проверочный код!'; unset($_SESSION['captcha']); }
    elseif (
$_SESSION['captcha'] != $code) { $error = 'Не верный проверочный код!'; unset($_SESSION['captcha']); }

    if (empty(
$error))
    {
        unset(
$_COOKIE['nick']);
        unset(
$_COOKIE['login']);
        unset(
$_COOKIE['pass']);
        unset(
$_COOKIE['race']);
        unset(
$_SESSION['captcha']);

        
$pass = md5(sha1($pass));

        
$rand_1 = mt_rand(-98, 98);
        
$rand_2 = mt_rand(-98, 98);

        
$control = mysql_query("SELECT id FROM users WHERE coor_x = '$rand_1' OR coor_y = '$rand_2' LIMIT 1");
        function 
id()
        { 
            
$rand_1 = mt_rand(-98, 98); 
            
$rand_2 = mt_rand(-98, 98); 
            if (
mysql_num_rows($control) == 0)
            { 
                return 
$rand_1 . ':' . $rand_2;
            }
            else
            { 
                return 
id(); 
            } 
        }
            
$expl = explode(':', id());
                
mysql_query("INSERT INTO users SET
                            login = '
$login',
                            nick = '
$nick',
                            password = '
$pass',
                            date_reg = '
$rtime',
                            ip = '
$ipl',
                            race = '
$race',
                            soft = '"
.char($agent, 1)."',
                            coor_x = '
$expl[0]',
                            coor_y = '
$expl[1]',
                            untouch = '" 
. ($rtime + 24 * 60 * 60) . "'");
        
header('location: /aut.php?ok');
    }
    else echo 
err($error);
}
require 
'res.php';
echo 
'<table><tr><td style="float:left;"><img src="images/advisor.png" alt=""/></td><td style="background:#CCC;line-height: 100%;color:#484848;border: 2px solid #FF3370;border-radius:7px;line-height: 100%;">';
echo 
'<form method="post" action="reg.php?'.rand(1000, 9999).'">
        Логин (для входа):<br/>
         <input type="text" name="login" value="'
.(!empty($_COOKIE['login']) ? $_COOKIE['login'] : '').'"/>
         <br/>
         Ник (для отображения в игре):<br/>
         <input type="text" name="nick" value="'
.(!empty($_COOKIE['nick']) ? $_COOKIE['nick'] : '').'"/>
         <br/>
         Пароль:<br/>
         <input type="password" name="pass" value="'
.(!empty($_COOKIE['pass']) ? $_COOKIE['pass'] : '').'"/>
         <br/>
         Сторона: <a href="help.php?q=race">(?)</a><br/>
         <select name="race">
         <option '
.(!empty($_COOKIE['race']) && $_COOKIE['race'] == 1 ? 'selected' : '').' value="1">Люди</option>
         <option '
.(!empty($_COOKIE['race']) && $_COOKIE['race'] == 2 ? 'selected' : '').' value="2">Некроманты</option>
         </select>
         <br/>
         Код с картинки:<br/>
         <img src="captcha.php?'
.rand(0, 9999).'" alt="code"/>
         <br/>
         <input type="text" name="code" maxlength="4"/>
         <br/>
         <input type="submit" name="next" value="OK"/>
         </form>
</td></tr></table>
         <a href="index.php">На главную</a>'
;

include 
'sys/foot.php';
?>
Онлайн: 0
Реклама