Файл: 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); //ноги
?>