Файл: reg.php
Строк: 123
<?php
//  Функции регистрации
function check_empty_login($n_login)
{ // Проверяет, существует ли указанный логин в БД
  if($n_login!="")
  {
  $sql=mysql_fetch_array(mysql_query("SELECT `login` FROM `user` WHERE `login`='$n_login' LIMIT 1"));
  if($sql){$retvar=false;}else{$retvar=true;}
  }else{
    $retvar=false;
  }
return $retvar;// true - означает что логин свободен
}
//
include_once "./#sys/bd.php";
//
include SYS."/regconf.php";
if (isset($_GET['inv']))
{
$check_user=false;
$ref_id=abs(intval($_GET['inv']));
$check_user=mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `id`='$ref_id' LIMIT 1"));
if($check_user){setcookie ('ref',$ref_id,($s_time+604800),'',$_SERVER["SERVER_NAME"]); $_SESSION['ref']=$ref_id;}
}
// Блок регистрации
if(isset($_POST['reg']) and $_POST['r_nick']!="" and  $_POST['r_pass']!="")
{
$errors="";// Переменная для сброса ошибок
$r_nick=ft_nic($_POST['r_nick']);
$r_pass=md5($_POST['r_pass']);
if( !preg_match("#^([A-Za-zА-я0-9-_ ])+$#ui", $_POST['r_nick'])){$errors.="В логине присутствуют запрещенные символы";}
    if(strlen($r_nick)<$MinLenLogin){$errors.="Слишком короткий ник!<br />";}
    if(strlen($r_nick)>$MaxLenLogin){$errors.="Длина логина должна быть не более $MaxLenLogin символов!<br />";}   
    if(strlen($_POST['r_pass'])>$MaxPass){$errors.="Длина пароля должна быть не более $MaxPass символов!<br />";}
    if(strlen($_POST['r_pass'])<$MinPass){$errors.="Длина пароля должна быть не менее $MinPass символов!<br />";}
    if(check_empty_login($r_nick)==false){$errors.="Логин $r_nick занят!<br />";}
    if(isset($_POST['pol']))
      {
        $pol=intval($_POST['pol']);
        if($pol<=0){$pol=0;}else{$pol=1;}
      }
    if(!isset($pol)){$errors.="Ваш пол указан неверно!<br />";}
    if($errors=="")
      { //Запись в БД если нет ошибок
        #$r_pass=$r_pass;
        $datereg=time();
        $inkey=gen_key();
        $ref=0;
        $pol=intval($_POST['pol']);
        if($pol<0){$pol=0;} if($pol>1){$pol=1;}
        #$t_id=intval($_COOKIE['id']);
        if(isset($_COOKIE['ref'])){$ref=abs(intval($_COOKIE['ref']));}
        if(isset($_SESSION['ref'])){$ref=abs(intval($_SESSION['ref']));}
        if($ref==0)
        {
        include_once SYS."/em.start";
        }else{
        include_once SYS."/ref.start";
        }
        mysql_query("INSERT INTO `user` SET
          `login`='$r_nick',
          `ref`='$ref',
          `inkey`='$inkey',
          `datereg`='$datereg',
          `uptime`='$datereg',
          `pol`='$pol',
          `r_key`='',
          `pass`='$r_pass',
          `locatid`='$n_locatid',
          `coord`='$n_coord',
          `level`='$n_level',
          `exp`='$n_exp',
          `kredits`='$n_kredits',
          `energy`='$n_energy',
          `live`='$n_live',
          `maxmassa`='$n_maxmassa',
          `resp`='$n_resp'
          ");
          $t_id=mysql_insert_id();
        setcookie ('id',$t_id,($s_time+604800),'',$_SERVER["SERVER_NAME"]);
        setcookie ('inkey',$inkey,($s_time+604800),'',$_SERVER["SERVER_NAME"]);
        setcookie ('reg',1,($s_time+31557600),'',$_SERVER["SERVER_NAME"]);
        $_SESSION['id']=$t_id;
        $_SESSION['inkey']=$inkey;
        $_SESSION["reg"]=1;
        $_SESSION['msg'].="Вы успешно зарегистрированы!<br />";
        header("Location: index.php");
        exit;
      }
$_SESSION['error'].=$errors;
header("Location: reg.php");
exit;
}
$_SESSION['title']="регистрация";
heads($headers_page, $set_ob_start);   //подключение шапки
  if(isset($_POST['check']) and $_POST['r_nick']!="")
  {
  $r_nick=ft_nic($_POST['r_nick']);
  if(check_empty_login($r_nick)){echo "<font color="green">Логин <b>"$r_nick"</b> свободен</font><br />";}else{echo "<font color="red">Логин <b>"$r_nick"</b> занят</font><br />";}
  if( !preg_match("#^([A-Za-zА-я0-9-_ ])+$#ui", $r_nick)){ echo "В логине присутствуют запрещенные символы<br />";} 
  }
if(!isset($r_nick)){$r_nick="";}
if((isset($_SESSION["reg"]) or isset($_COOKIE["reg"])) and ($_SESSION["reg"] or $_COOKIE["reg"]))
{
$_SESSION['error'].="Вы уже зарегистрированы.<br />";
header("Location: index.php");
exit;
}
?>
<div class="aut"><form class='smottb' action="" method="post">
Выберите логин <?="(".$MinLenLogin." - ".$MaxLenLogin.") симв. "?>:<br />
<input type="text" size="12" name="r_nick" value="<?=$r_nick?>" /><br />
<input type="submit" name="check" value="проверить" /><br />
Пароль<?="(".$MinPass." - ".$MaxPass.") симв. "?>:<br />
<input type="password" size="12" name="r_pass" value="" /><br />
Кто Вы?<br />
<select name="pol">
<option value="1">Муж</option>
<option value="0">Жен</option>
</select><br />
<input type="submit" name="reg"  value="регистрировать" />
</form></div>
<?
echo "<div class='amenu'><a href='index.php?l=exit'>отмена</a></div>";
closed_page($headers_page,$set_ob_start);  //ноги
?>