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

ob_start
();
session_start();

// Если попытка повторной авторизиции
if (!empty($_COOKIE['us']) && !empty($_COOKIE['ps'])) {
    
header('Location: index.php?' $ref);
    die();
}

include 
'mod_reg.dat';

require 
'config.php';
$link connect_db();
include 
'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;
}

$ref mt_rand(100001000000);

echo 
$div_title 'Регистрация' $div_end;

   if (
$mod_reg == 0) {
      
err('Регистрация временно закрыта!');
      include 
'foot.php';
      exit();
   }

$mod = isset($_GET['mod']) ? $_GET['mod'] : '';
switch(
$mod) {
    default:
        echo 
$div_razdel '<b>Шаг 1</b>' $div_end;
        echo 
$div_left 'Приветствуем тебя на планете общения ' $site '!<br/><br/>
              <b>Сразу после регистрации тебе будет доступна:</b><br/>
              - личная страничка по адресу http://<span style="color:#FF0000;">ТвойНик</span><span style="color:#0000FF;">.' 
$site '</span><br/>
              <b>А еще ты сможешь:</b><br/>
              - находить друзей и общаться<br/>
              - хранить свои файлы и делиться ими с другими<br/>
              - вести свои заметки<br/>
              - обсудить что-либо в чате и на форуме<br/>
              - и много других вещей...<br/><br/>
              И, конечно, на ' 
$site ' полностью бесплатно!<br/>
              <br/>
              <a href="reg.php?mod=step2"><b>
              Продолжить регистрацию</b></a> (нажимая эту ссылку, ты подтверждаешь своё согласие с условиями сайта.)
              <br/><br/>
              Или <a href="aut.php?">Входи</a>, если ты уже зарегистрирован.<br/>
              ' 
$block '
              <a href="index.php?' 
$ref '">Назад</a>' $div_end;
    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-z1-9_])+$/ui'$user))
{
    
$error .= '<div class="errors"><ul><li>Ник может содержать только знаки латинского алфавита знак _ и цифры(кроме 0)</li></ul></div>';
}

elseif (!
preg_match('#^([a-z1-9])+$#ui'$first_l)) {
    
$error .= '<div class="errors"><ul><li>Ник должен начинаться с латинской буквы или цифры!</li></ul></div>';
}

elseif (!
preg_match('#^([a-z1-9])+$#ui'$last_l)) {
    
$error .= '<div class="errors"><ul><li>Ник должен заканчиваться латинской буквой или цифрой!</li></ul></div>';
}

elseif (
ctype_digit($user)) $error .= '<div class="errors"><ul><li>Ник не должен состоять из одних цифр!</li></ul></div>';
elseif (
mb_strlen($user'UTF-8') < 4$error .= '<div class="errors"><ul><li>Ник не должен содержать менее 4х знаков!</li></ul></div>';
elseif (
mb_strlen($user'UTF-8') > 15$error .= '<div class="errors"><ul><li>Ник не должен превышать 15 знаков!</li></ul></div>';

            
$latuser mb_strtolower($user'UTF8');
            
$sql mysql_query("SELECT `id` FROM `users` WHERE `latuser` = '$latuser'");

            if (
mysql_num_rows($sql) != FALSE) {

                
$_SESSION['empty_user'] = $user;
                for(
$j 1$j 10$j++) {
                    
$no_em mysql_query("SELECT COUNT(*) FROM `users` WHERE
                                         `latuser` = '" 
$latuser $j "'");
                    if (
mysql_result($no_em0) == 0) {
                        
$no_nick .= '<a href="reg.php?mod=step2&amp;n=' $j '">' $user $j '</a><br/>';
                        
$vyvod $div_left 'Вы можете использовать похожие ники:<br/>' $no_nick $div_end;
                    }
            }

                   
$error .= '<div class="errors"><ul><li>Указанный Вами ник <b>' $user '</b> уже занят!</li></ul></div>' $vyvod;
            }

            if (!empty(
$error)) {
                echo 
$error;
            } else {
                
$_SESSION['reg_user'] = $user;
                
header('Location: ' htmlspecialchars_decode('reg.php?mod=step3'));
            }
        }

    
$n = (isset($_GET['n'])) ? $_SESSION['empty_user'] . my_int($_GET['n']) : NULL;

        echo 
$div_menu 'Шаг 1 из 2
        ' 
$div_end $div_left '
  <form method="POST" action="reg.php?mod=step2" name="auth">
    <div>Введите желаемый ник, чтобы проверить не занят ли он:
      <br/>
      <b>http://</b><input type="text" name="user" maxlength="12" title="nick" value="'
.$n.'"/>
      <b>' 
$site '</b>
      <br/>
      <small>(Знаки латинского алфавита и цифры(кроме 0). Только цифры и русские буквы нельзя! Длина от 4 до 20 символов</small><br/>
      <input type="submit" value="Далее" name="enter"/>
    </div>
  </form>
$div_razdel '<a href="reg.php?mod=step1">Назад</a>' $div_end $div_end;

    break;

    case 
step3:
        if (empty(
$_SESSION['reg_user'])) header('Location: reg.php?' $ref);
        if (isset(
$_GET['ok'])) {

                
$error '';
                
$user $_SESSION['reg_user'];

                
$first_l mb_substr($user01'UTF8');
                
$last_l mb_substr($user, -11'UTF8');

                
$latuser mb_strtolower($user'UTF8');
                
$sql mysql_query("SELECT `id` FROM `users` WHERE `latuser` = '$latuser' LIMIT 1");

                if (!
preg_match('/^([a-z1-9_])+$/ui'$user)) $error .= 'Ник может содержать только знаки латинского алфавита, знак _ и цифры(кроме 0)';
                elseif (!
preg_match('#^([a-z1-9])+$#ui'$first_l)) $error .= 'Ник должен начинаться с латинской буквы или цифры!';
                elseif (!
preg_match('#^([a-z1-9])+$#ui'$last_l)) $error .= 'Ник должен заканчиваться латинской буквой или цифрой!';
                elseif (
mysql_num_rows($sql)) $error .= 'Указанный Вами ник <b>' $user '</b> уже занят!';
                elseif (
mb_strlen($user'UTF-8') < 4$error .= 'Ник не должен содержать менее 4х знаков!';
                elseif (
mb_strlen($user'UTF-8') > 15$error .= 'Ник не должен превышать 15 знаков!';
                elseif (
ctype_digit($user)) $error .= 'Ник не должен состоять из одних цифр!';
                elseif (empty(
$_POST['pass'])) $error .= 'Не заполнено поле пароль!';
                elseif (empty(
$_POST['pass2'])) $error .= 'Не заполнено поле подтверждения пароля!';
                elseif (!
preg_match("!^[a-z0-9]+$!i"$_POST['pass'])) $error .= 'В пароле обнаружены запрещенные знаки!';
                elseif (
mb_strlen($_POST['pass'], 'UTF8') < 6$error .= 'Пароль не должен быть короче шести символов!';
                elseif (
$_POST['pass'] !== $_POST['pass2']) $error .= 'Пароли не совпадают!';
                elseif (
is_numeric($_POST['pass'])) $error .= 'Слишком простой пароль, используйте буквы и цифры!';
                elseif (empty(
$_POST['code'])) $error .= 'Не введен проверочный код!';
                elseif (
$_SESSION['captcha'] != $_POST['code']) $error .= 'Не верный проверочный код!';

                if (empty(
$error)) {
                    
$pass xss($_POST['pass']);
                    
$pass2 xss($_POST['pass2']);
    
######
    
$num_balls mysql_fetch_array(mysql_query("SELECT `num_balls` FROM `setting` WHERE `ids` = '1'"));
    
######
    
$now date('d-m-y');
    
$ins_str "INSERT INTO `users` SET
                `user` = '" 
$user "',
                `pass` = '" 
$pass "',
                `date` = '" 
$now "',
                `balls` = '" 
$num_balls[0] . "',
                `latuser` = '" 
$latuser "',
                `user_ip` = '" 
xss($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'/');
            unset(
$_SESSION['reg_user']);
}
else
{
    
$error .= mysql_error() . '<br/>';
}
}

if (empty(
$error))
{
    
$last_me mysql_fetch_array(mysql_query("SELECT `id` FROM `users` ORDER BY `id` DESC LIMIT 1"));
###################################################
        
$m1 'Рекомендуем для начала заполнить свою анкету и прочитать <a href="faq.php?'.$ref.'">Путеводитель</a>.
               <br/>
                Обращаем Ваше внимание на то, что "<a href="edit.php?'
.$ref.'">ред</a>" на Вашей главной странице будет красным
               <br/>
               до тех пор, пока страница не заполнена хотябы на 30%.
               <br/>
                Чем выше "%", тем выше Вы будете в поиске и в списках друзей.
               <br/>
                В ' 
$site ' нет ничего сложного, потратье 5 минут, чтобы освоиться и Вы будете с нами всегда.
               <br/>
                И не ждите, что вам сразу начнуть писать другие участники - ищите сами, знакомтесь,
               <br/>
               общайтесь и тогда всё у вас получится!
               <br/>
                Мы желаем Вам приятного общения, поиска старых и новых друзей и безмерной любви!'
;
        
$m2 'Здравствуй, ' $user '!
               <br/>
                Приветствуем тебя на ' 
$site '
               <br/>
                Теперь у тебя есть собственный сайт в сети по адресу http://' 
$user '.' $site '
               <br/>
                Храни тут свои файлы, фотографии и тд, и они всегда будут доступны как с мобильного телефона, так и с компьютера. 
               <br/>
                Обязательно поделись ссылкой на свой сайт с друзьями, пусть они знают о том, что происходит в твоей жизни.'
;

        
mysql_query("INSERT INTO `letters` (`id`,`who`,`idwho`,`message`,`data`,`read`,`mod`)
                     VALUES (0,'0','
$last_me[0]','$m1','" time() . "','0','i')");
        
mysql_query("INSERT INTO `letters` (`id`,`who`,`idwho`,`message`,`data`,`read`,`mod`)
                     VALUES (0,'0','
$last_me[0]','$m2','" time() . "','0','i')");
###################################################

// Редирект на авторайз
header('Location: index.php?' $ref);

                } else {
                    echo 
'<div class="errors"><ul><li>' $error '</li></ul></div>';
                }
        }

    if (!isset(
$_SESSION['reg_user']))
    {
        
header('Location: reg.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(0, 999) . '" alt=""/><br/>
                        <small><a href="'.$_SERVER['REQUEST_URI'].'&amp;Code">Не вижу код</a></small><br/>';*/

         
echo $div_left $div_menu 'Шаг 2 из 2' $div_end '
                <FORM method="POST" action="reg.php?mod=step3&amp;ok" name="auth">
                ' 
$div_tworazdel 'Ник: <b>' $_SESSION['reg_user'] . '</b>' $div_end $div_razdel '
              - Придумайте себе сложный пароль, латинские буквы и цифры<br/>
               - Пароль чувствителен к регистру(sobaka и sObAKA - разные пароли).<br/>  
              - И не вводите пароль такой же как Ник!
              ' 
$div_end '
    <div>
      Пароль:
      <br/>
      <input type="password" name="pass" maxlength="20" title="Пароль"/>
      <br/>
      Повтор пароля:
      <br/>
      <input type="password" name="pass2" maxlength="20" title="Повтор пароля"/>
      <br/>
      Введите цыфры с картинки:<br/>
      <img src="captcha.php?' 
rand(0999) . '" alt=""/><br/>
      <input type="text" name="code" size="3" maxlength="3" format="*N" title="code"/>
      <br/>
      <input type="submit" value="Завершить" name="enter"/>
    </div>
  </form>
$div_razdel '<a href="reg.php?mod=step2">Назад</a>' $div_end $div_end;
        }
        break;
}
    include 
'foot.php';
ob_end_flush();

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