Вход Регистрация
Файл: mydcms.tk/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($varENT_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($user01'UTF8');
            
$last_l mb_substr($user, -11'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_em0) == 0) {
                        
$no_nick .= '<a href="/user/registration.php?mod=step2&amp;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($user01'UTF8');
                
$last_l mb_substr($user, -11'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'$myidtime() + 604800'/');
                         
setcookie('ps'$passtime() + 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/>
          &raquo; <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(100999);

        if (isset(
$_GET['Code'])) $NoCode captcha($_SESSION['captcha']) . '<br/>';
        else 
$NoCode '<img src="captcha.php?' rand(0999) . '" 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();

?>
Онлайн: 1
Реклама