Вход Регистрация
Файл: reg.php
Строк: 192
<?php
require 'lang_inc.php';
ob_start();
session_start();

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

include 
'mod_reg.dat';

require 
'config.php';
$link connect_db();
include 
'head.php';

/*/ если не зареган
if (empty($_SESSION['us'])) {
echo '<div style="text-align: center; margin: 2px;"><img src="ico/logo.png" alt=""/></div>';
}*/

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 ''.$lang['Регистрация'].'' $div_end;

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

$mod = isset($_GET['mod']) ? $_GET['mod'] : '';
switch(
$mod) {
    default:
        echo 
$div_razdel '<b>'.$lang['Шаг'].' 1</b>' $div_end;
        echo 
$div_left ''.$lang['Приветствуем тебя на планете общения'].' ' $site '!<br/><br/>
              <b>'
.$lang['ты сможешь'].':</b><br/>
              - '
.$lang['находить друзей и общаться'].'<br/>
              - '
.$lang['хранить свои файлы и делиться ими с другими'].'<br/>
              - '
.$lang['вести свои заметки'].'<br/>
              - '
.$lang['обсудить что-либо в чате и на форуме'].'<br/>
              - '
.$lang['и много других вещей'].'...<br/><br/>
              '
.$lang['И, конечно, на'].' ' $site ' '.$lang['полностью бесплатно'].'!<br/>
              <br/>
              <a href="reg.php?mod=step2&amp;lg='
.$lg.'"><b>
              '
.$lang['Продолжить регистрацию'].'</b></a> ('.$lang['нажимая эту ссылку, ты подтверждаешь своё согласие с условиями сайта'].'.)
              <br/><br/>
              '
.$lang['Или'].' <a href="aut.php?lg='.$lg.'">'.$lang['Входи'].'</a>, '.$lang['если ты уже зарегистрирован'].'.<br/>
              ' 
$block '
              <a href="index.php?lg='
.$lg.'&amp;' $ref '">'.$lang['Назад'].'</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>'.$lang['Ник может содержать только знаки латинского алфавита знак _ и цифры(кроме 0)'].'</li></ul></div>';
}

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

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

elseif (
ctype_digit($user)) $error .= '<div class="errors"><ul><li>'.$lang['Ник не должен состоять из одних цифр'].'!</li></ul></div>';
elseif (
mb_strlen($user'UTF-8') < 4$error .= '<div class="errors"><ul><li>'.$lang['Ник не должен содержать менее 4х знаков'].'!</li></ul></div>';
elseif (
mb_strlen($user'UTF-8') > 15$error .= '<div class="errors"><ul><li>'.$lang['Ник не должен превышать 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 '&amp;lg='.$lg.'">' $user $j '</a><br/>';
                        
$vyvod $div_left ''.$lang['Вы можете использовать похожие ники'].':<br/>' $no_nick $div_end;
                    }
            }

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

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

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

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

    break;

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

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

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

                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 "',
                `sex` = '" 
$sex "',
                `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 ''.$lang['Рекомендуем для начала заполнить свою анкету и прочитать'].' <a href="faq.php?lg='.$lg.''.$ref.'">'.$lang['Путеводитель'].'</a>.
               <br/>
                '
.$lang['Обращаем Ваше внимание на то, что'].' "<a href="edit.php?lg='.$lg.'&amp;'.$ref.'">'.$lang['ред'].'</a>" '.$lang['на Вашей главной странице будет красным'].'
               <br/>
               '
.$lang['до тех пор, пока страница не заполнена хотябы на'].' 30%.
               <br/>
                '
.$lang['Чем выше "%", тем выше Вы будете в поиске и в списках друзей'].'.
               <br/>
                '
.$lang['В'].' ' $site ' '.$lang['нет ничего сложного, потратье 5 минут, чтобы освоиться и Вы будете с нами всегда'].'.
               <br/>
                '
.$lang['И не ждите, что вам сразу начнуть писать другие участники - ищите сами, знакомтесь'].',
               <br/>
               '
.$lang['общайтесь и тогда всё у вас получится'].'!
               <br/>
                '
.$lang['Мы желаем Вам приятного общения, поиска старых и новых друзей и безмерной любви'].'!';
        
$m2 ''.$lang['Здравствуй'].', ' $user '!
               <br/>
                '
.$lang['Приветствуем тебя на'].' ' $site '
               <br/>
                '
.$lang['Теперь у тебя есть собственный сайт в сети по адресу'].' http://' $site '/'.$last_me[id].'
               <br/>
                '
.$lang['Храни тут свои файлы, фотографии и тд, и они всегда будут доступны как с мобильного телефона, так и с компьютера'].'. 
               <br/>
                '
.$lang['Обязательно поделись ссылкой на свой сайт с друзьями, пусть они знают о том, что происходит в твоей жизни'].'.';

        
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?lg='.$lg.'&' $ref);

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

    if (!isset(
$_SESSION['reg_user']))
    {
        
header('Location: reg.php?lg='.$lg.'');
        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 ''.$lang['Шаг 2 из 2'].'' $div_end '
                <FORM method="POST" action="reg.php?mod=step3&amp;ok&amp;lg='
.$lg.'" name="auth">
                ' 
$div_tworazdel ''.$lang['Ник'].': <b>' $_SESSION['reg_user'] . '</b>' $div_end $div_razdel '
              - '
.$lang['Придумайте себе сложный пароль, латинские буквы и цифры'].'<br/>
               - '
.$lang['Пароль чувствителен к регистру(sobaka и sObAKA - разные пароли)'].'.<br/>  
              - '
.$lang['И не вводите пароль такой же как Ник'].'!
              ' 
$div_end '
    <div>
      '
.$lang['Выберите ваш пол'].':
      <br/>
      <input type="radio" name="sex" checked value="2"/> '
.$lang['М'].'
      <input type="radio" name="sex" value="1"/> '
.$lang['Ж'].'
      <br/>
      '
.$lang['Пароль'].':
      <br/>
      <input type="password" name="pass" maxlength="20" title="'
.$lang['Пароль'].'"/>
      <br/>
      '
.$lang['Повтор пароля'].':
      <br/>
      <input type="password" name="pass2" maxlength="20" title="'
.$lang['Повтор пароля'].'"/>
      <br/>
      '
.$lang['Введите цыфры с картинки'].':<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="'
.$lang['Завершить'].'" name="enter"/>
    </div>
  </form>
$div_razdel '<a href="reg.php?mod=step2&amp;lg='.$lg.'">'.$lang['Назад'].'</a>' $div_end $div_end;
        }
        break;
}
    include 
'foot.php';
ob_end_flush();

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