Файл: public_html/user/registration.php
Строк: 143
<?php
ob_start();
session_start();
include '../mod_reg.dat';
require '../system/config.php';
include '../system/user.php';
include '../system/head.php';
function xss($var)
{
    $var = trim($var);
    $var = str_replace(" 0", "", $var);
    $var = mysql_real_escape_string($var);
    $var = htmlspecialchars($var, ENT_QUOTES, 'UTF-8');
    return $var;
}
function int($var)
{
    $var = abs((int)$var);
    return $var;
}
echo $div_title . 'Регистрация' . $div_end;
   if ($mod_reg == 0)
   {
      err('Регистрация временно закрыта!');
      include '../system/foot.php';
      exit();
   }
$mod = isset($_GET['mod']) ? $_GET['mod'] : '';
switch($mod) {
    default:
    // Если попытка повторной регистрации
    if (!empty($_COOKIE['us']) && !empty($_COOKIE['ps'])) {
        header('Location: /index.php?');
        die();
    }
        echo $div_menu . '<b>Шаг 1</b>' . $div_end;
        echo '<div>Приветствуем в клубе вап мастеров ' . $site . '!<br/>
              <a href="/user/registration.php?mod=step2">
              <b style="color:#00AA00;">Продолжить регистрацию</b></a>
              (нажимая эту ссылку, ты подтверждаешь своё согласие с условиями сайта.)
              <br/>
              Или <a href="/user/login.php"><span style="color:#0000FF;">Входи</span></a>, если ты уже зарегистрирован.<br/>';
    break;
    case step2:
        $_SESSION['reg_user'] = '';
        if (!empty($_POST['user'])) {
            $error = '';
            $user = xss($_POST['user']);
            $first_l = mb_substr($user, 0, 1, 'UTF8');
            $last_l = mb_substr($user, -1, 1, 'UTF8');
if (!preg_match('/^([a-zа-яё1-9_])+$/ui', $user)) $error .= 'Ник содержит запрещенные символы!';
elseif (!preg_match('#^([a-zа-яё1-9])+$#ui', $first_l)) $error .= 'Ник должен начинаться с буквы или цифры!';
elseif (!preg_match('#^([a-zа-яё1-9])+$#ui', $last_l)) $error .= 'Ник должен заканчиваться буквой или цифрой!';
elseif (preg_match('/[a-z]/i', $user) && preg_match('/[а-яё]/siu', $user)) $error .= 'Ник не может одновременно содержать рус. и англ. буквы!';
elseif (ctype_digit($user)) $error .= 'Ник не должен состоять из одних цифр!';
elseif (mb_strlen($user, 'UTF-8') < 3) $error .= 'Ник не должен содержать менее 3х знаков!';
elseif (mb_strlen($user, 'UTF-8') > 15) $error .= 'Ник не должен превышать 15 знаков!';
            $latuser = mb_strtolower($user, 'UTF8');
            $sql = mysql_query("SELECT `id` FROM `users` WHERE `latuser` = '$latuser' LIMIT 1");
            if (mysql_num_rows($sql) != FALSE) {
                $_SESSION['empty_user'] = $user;
                for($j = 1; $j < 10; ++$j) {
                    $no_em = mysql_query("SELECT COUNT(id) FROM `users` WHERE `latuser` = '" . $latuser . $j . "'");
                    if (mysql_result($no_em, 0) == 0) {
                        $no_nick .= '<a href="/user/registration.php?mod=step2&n=' . $j . '">' . $user . $j . '</a><br/>';
                        $vyvod = $div_left . 'Вы можете использовать похожие ники:<br/>' . $no_nick . $div_end;
                    }
                }
                   $error .= 'Указанный Вами ник ' . $user . ' уже занят!' . $vyvod;
            }
            if (!empty($error)) {
                err($error);
            } else {
                $_SESSION['reg_user'] = $user;
                header('Location: ' . htmlspecialchars_decode('/user/registration.php?mod=step3'));
            }
        }
    $n = (isset($_GET['n'])) ? $_SESSION['empty_user'] . my_int($_GET['n']) : NULL;
        echo $div_menu . 'Шаг 1 из 2
        ' . $div_end . '
  <form method="POST" action="/user/registration.php?mod=step2" name="auth">
    <div>Введите желаемый ник, чтобы проверить не занят ли он:
      <br/>
      <input type="text" name="user" maxlength="15" title="nick" value="'.$n.'"/>
      <br/>
      <input type="submit" value="Далее" name="enter"/>
    </div>
  </form>
<div class="menu2"><a class="ssyl2" href="/user/registration.php?mod=step1">Назад</a></div>';
    break;
    case step3:
        if (empty($_SESSION['reg_user'])) header('Location: /user/registration.php');
        if (isset($_POST['ok'])) {
                $error = '';
                $user = $_SESSION['reg_user'];
                $first_l = mb_substr($user, 0, 1, 'UTF8');
                $last_l = mb_substr($user, -1, 1, 'UTF8');
                $pass = xss($_POST['pass']);
                $pass2 = xss($_POST['pass2']);
                $email = xss($_POST['email']);
                $icq = int($_POST['icq']);
                $sex = int($_POST['sex']);
                $info = xss($_POST['info']);
                $know = int($_POST['know']);
                $code = int($_POST['code']);
                $latuser = mb_strtolower($user, 'UTF8');
                $sql = mysql_query("SELECT `id` FROM `users` WHERE `latuser` = '$latuser' LIMIT 1");
                $double_mail = mysql_query("SELECT id FROM users WHERE email = '$email' LIMIT 1");
                if (!preg_match('/^([a-zа-яё1-9_])+$/ui', $user)) $error .= 'Ник содержит запрещенные символы';
                elseif (!preg_match('#^([a-zа-яё1-9])+$#ui', $first_l)) $error .= 'Ник должен начинаться с буквы или цифры!';
                elseif (!preg_match('#^([a-zа-яё1-9])+$#ui', $last_l)) $error .= 'Ник должен заканчиваться буквой или цифрой!';
                elseif (preg_match('/[a-z]/i', $user) && preg_match('/[а-яё]/siu', $user)) $error .= 'Ник не может одновременно содержать рус. и англ. буквы!';
                elseif (mysql_num_rows($sql) != false) $error .= 'Указанный Вами ник <b>' . $user . '</b> уже занят!';
                elseif (mb_strlen($user, 'UTF-8') < 3) $error .= 'Ник не должен содержать менее 3х знаков!';
                elseif (mb_strlen($user, 'UTF-8') > 15) $error .= 'Ник не должен превышать 15 знаков!';
                elseif (ctype_digit($user)) $error .= 'Ник не должен состоять из одних цифр!';
                elseif (empty($pass)) $error .= 'Не заполнено поле пароль!';
                elseif (empty($pass2)) $error .= 'Не заполнено поле подтверждения пароля!';
                elseif (!preg_match("!^[a-z0-9]+$!i", $pass)) $error .= 'В пароле обнаружены запрещенные знаки!';
                elseif (mb_strlen($pass, 'UTF8') < 6) $error .= 'Пароль не должен быть короче 6ти символов!';
                elseif (mb_strlen($pass, 'UTF8') > 20) $error .= 'Пароль не должен быть длиннее 20ти символов!';
                elseif ($pass !== $pass2) $error .= 'Пароли не совпадают!';
                elseif (is_numeric($pass)) $error .= 'Слишком простой пароль, используйте буквы и цифры!';
                elseif (!preg_match('#^[A-z0-9-._]+@[A-z0-9]{2,}.[A-z]{2,4}$#ui', $email) && !empty($email)) $error .= 'Неверный формат email!';
                elseif (!empty($email) && mysql_num_rows($double_mail) != false) $error .= 'Такой email уже зарегистрирован!';
                elseif (!isset($sex)) $error .= 'Не выбран пол!';
                if (empty($error)) {
                    $now = date('d-m-y');
                    $ins_str = "INSERT INTO `users` SET
                                `user` = '$user',
                                `pass` = '$pass',
                                `avka` = '1',
                                `date` = '$now',
                                `rekl_sk` = '1',
                                `sex` = '$sex',
                                `money` = '0',
                                `email` = '$email',
                                `icq` = '$icq',
                                `know` = '$know',
                                `latuser` = '$latuser',
                                `user_ip` = '$ipl',
                                `user_soft` = '" . xss($agent) . "',
                                `mod_reg` = '$mod_reg'";
                    if (mysql_query($ins_str))
                    {
                        $myid = mysql_insert_id();
                        $_SESSION['us'] = $myid;
                        $_SESSION['ps'] = $pass;
                         setcookie('us', $myid, time() + 604800, '/');
                         setcookie('ps', $pass, time() + 604800, '/');
                        if (!empty($email))
                        {
                            $subject = 'Регистрация на ' . $site;
                            $regmail = 'Здравствуйте ' . $_SESSION['reg_user'] . '!<br/>
                                        Вы были успешно зарегистрированы в клубе мастеров ' . $site . '.<br/>
                                        Ваши данные для входа:<br/>
                                        логин - ' . $_SESSION['reg_user'] . '<br/>
                                        пароль - ' . $pass . '<br/>
                                        Ссылка автовхода - http://' . $site . '/?us='.$myid.'&ps='.$pass.'<br/>
                                        <br/>
                                        Спасибо за регистрацию!<br/>
                                        С уважением, Администрация ' . $site . '.';
                            $adds = "From: "password@$_SERVER[HTTP_HOST]" <password@$site>n";
                            $adds .= "Content-Type: text/html; charset=utf-8n";
                            mail($email, '=?utf-8?B?' . base64_encode($subject) . '?=', $regmail, $adds);
                        }
                        unset($_SESSION['captcha']);
                    }
                    else
                    {
                        unset($_SESSION['captcha']);
                        $error .= mysql_error() . '<br/>';
                    }
                }
if (empty($error))
{
    unset($_SESSION['captcha']);
    $lid = mysql_fetch_array(mysql_query("SELECT id FROM users ORDER BY id DESC LIMIT 1"));
    echo 'Здравствуй <b>' . $user . '</b>! Поздравляем с успешной регистрацией.
          <br/>
          ' . ($email != '' ? 'На ваш email было отправлено письмо с данными для входа на сайт.<br/>' : '') . '
          Автологин: <input type="text" value="http://'.$site.'/?us='.$lid[0].'&ps='.$pass.'"/>
          <br/>
          » <a href="/?"><span style="color:#0000FF;">Войти</span></a>';
    include '../system/foot.php';
    exit();
} else {
    unset($_SESSION['captcha']);
    err($error);
}
}
    if (!isset($_SESSION['reg_user']))
    {
        header('Location: /user/registration.php');
        die();
    }
        
        if (!empty($error) || !isset($_GET['ok'])) {
     
           $_SESSION['captcha'] = mt_rand(100, 999);
        if (isset($_GET['Code'])) $NoCode = captcha($_SESSION['captcha']) . '<br/>';
        else $NoCode = '<img src="captcha.php?' . rand(0, 999) . '" alt=""/><br/>
                        <small><a href="?Code">Не вижу код</a></small><br/>';
        $redStar = '<span style="color:#FF0000;">*</span>';
         echo $div_menu . 'Шаг 2 из 2' . $div_end;
                echo '<FORM method="POST" action="/user/registration.php?mod=step3" name="auth">
                Ваш ник: <b>' . $_SESSION['reg_user'] . '</b>
    <div>
      <label>Пароль:</label>
      <br/>
      <input type="password" name="pass" maxlength="20" title="Пароль"/>
      <br/>
      <label>Повтор пароля:</label>
      <br/>
      <input type="password" name="pass2" maxlength="20" title="Повтор пароля"/>
      <br/>
      <label>Ваш пол:</label>
      <br/>
      <input type="radio" name="sex" checked value="2"/> М
      <input type="radio" name="sex" value="1"/> Ж
      <br/>
      <label>Email:</label>
      <br/>
      <input type="text" name="email" maxlength="30" title="Email"/>
      <br/>
      <label>ICQ:</label>
      <br/>
      <input type="text" name="icq" size="10" maxlength="10" title="icq"/>
      <br/>
      <label>Деятельность:</label>
      <br/>
      <select name="know">
      <option value="0">-</option>
      <option value="1">Кодер</option>
      <option value="2">Дизайнер</option>
      <option value="3">Мастер</option>
      <option value="4">Продавец</option>
      <option value="5">Кредитор</option>
      </select>
      <br/>
      <br/>
      <input type="submit" value="Завершить" name="ok"/>
    </div>
  </form>';
echo '<div class="menu2"><a class="ssyl2" href="reg.php?mod=step2">Назад</a></div>';
        }
        break;
}
    include '../system/foot.php';
ob_end_flush();
?>