Просмотр файла reg.php

Размер файла: 11.58Kb
<?php 
$mt=microtime();
require('db.php');
require('nast.php');
$title='Регистрация';
require('shapka.php');
//Сессия
session_name('reg');
session_start();
$s=htmlspecialchars(session_id());
/////////////////
if($str=='wml')
	{
	$forma='Поля помеченные звёздочкой(<b>*</b>) обязательны к заполнению<br/><br/>*Желаемый ник:<br/>
<input name="user" maxlength="12" title="nick" emptyok="false"/><br/>
<select name="user2t" multiple="true"><option value="1">Транслит</option></select><br/>*Пароль:<br/>
<input name="pass"  maxlength="20" title="pass" type="password" emptyok="false"/><br/>
*Повторите пароль:<br/>
<input name="pass2"  maxlength="20" title="verpass" type="password" emptyok="false"/><br/>
*Ваше имя:<br/>
<input name="name" maxlength="15" title="name" emptyok="false"/><br/>
<select name="name2t" multiple="true"><option value="1">Транслит</option></select><br/>Пол:
<select name="sex">
<option value="0">М</option>
<option value="1">Ж</option>
</select><br/>
*Дата рождения:<br/>
День:<input name="day" maxlength="2" title="day" format="*N" size="2" emptyok="false"/><br/>
Месяц:<input name="month" maxlength="2" title="month" size="2" format="*N" emptyok="false"/><br/>
Год:<input name="year" maxlength="4" title="year" size="4" format="*N" emptyok="false"/><br/>
*Город:<br/>
<input name="city" maxlength="40" title="city" emptyok="false"/><br/>
<select name="city2t" multiple="true"><option value="1">Транслит</option></select><br/>Сотовый оператор<br/>
<input name="op" maxlength="20" title="op" emptyok="true"/><br/>
Модель телефона:<br/>
<input name="mob" maxlength="40" title="mob" value="Opera" emptyok="true"/><br/>
Номер телефона:<br/>+
<input name="number" maxlength="11" title="number" format="*N" value="" emptyok="true"/><br/>
e-mail:<br/>
<input name="mail" maxlength="70" title="mail" emptyok="true"/><br/>
Ваш wap-сайт:<br/>
<input name="site" maxlength="70" value="http://" title="site" emptyok="true"/><br/>
*О себе:<br/>
<input name="infa" maxlength="200" title="infa" emptyok="false"/><br/>
<select name="infa2t" multiple="true"><option value="1">Транслит</option></select><br/>*&#x041F;&#x0440;&#x043E;&#x0432;&#x0435;&#x0440;&#x043E;&#x0447;&#x043D;&#x044B;&#x0439; &#x043A;&#x043E;&#x0434;:<br/>
<input name="kod2" format="*N" maxlength="5" title="kod2" size="5"/><br/>';

if(strstr($_SERVER['HTTP_USER_AGENT'],'Opera') and strstr($_SERVER['HTTP_USER_AGENT'],'mini'))
$forma.='<img src="img.php?reg='.$s.'" alt="kod" /><br />';
else
$forma.='<img src="img.php?reg='.$s.'" alt="" /><br />';


$forma.='<br/><anchor title="go">Регистрация<go href="reg.php?reg='.$s.'&amp;act=reg&amp;str=wml" method="post">
<postfield name="user" value="$(user)"/>
<postfield name="user2t" value="$(user2t)"/>
<postfield name="pass" value="$(pass)"/>
<postfield name="pass2" value="$(pass2)"/>
<postfield name="name" value="$(name)"/>
<postfield name="name2t" value="$(name2t)"/>
<postfield name="sex" value="$(sex)"/>
<postfield name="day" value="$(day)"/>
<postfield name="month" value="$(month)"/>
<postfield name="year" value="$(year)"/>
<postfield name="city" value="$(city)"/>
<postfield name="city2t" value="$(city2t)"/>
<postfield name="op" value="$(op)"/>
<postfield name="mob" value="$(mob)"/>
<postfield name="mail" value="$(mail)"/>
<postfield name="site" value="$(site)"/>
<postfield name="infa" value="$(infa)"/>
<postfield name="infa2t" value="$(infa2t)"/>
<postfield name="number" value="$(number)"/>
<postfield name="kod2" value="$(kod2)"/>
</go></anchor><br/>
---<br/>';
	}
else
	{
	$forma=@'<div class="c1">Поля помеченные звёздочкой(<b>*</b>) обязательны к заполнению<br/></div><form action="reg.php?reg='.$s.'&amp;act=reg&amp;str=xhtml" method="post"><div><br/>*Желаемый ник:<br/>
<input name="user" maxlength="12" title="nick" value="'.htmlspecialchars(@$_POST['user']).'"/><br/>
Транслит<input type="checkbox" name="user2t" value="1"><br/><br/>*Пароль:<br/>
<input name="pass"  maxlength="20" title="pass" type="password"/><br/>
*Повторите пароль:<br/>
<input name="pass2"  maxlength="20" title="verpass" type="password"/><br/>
*Ваше имя:<br/>
<input name="name" maxlength="15" title="name" value="'.htmlspecialchars(@$_POST['name']).'"/><br/>
Транслит<input type="checkbox" name="name2t" value="1"><br/><br/>Пол:
<select name="sex">
<option value="0">&#x041C;</option>
<option value="1">&#x0416;</option>
</select><br/>
*Дата рождения:<br/>
День:<input name="day" maxlength="2" title="day" size="2" value="'.htmlspecialchars(@$_POST['day']).'"/><br/>
Месяц:<input name="month" maxlength="2" title="month" size="2" value="'.htmlspecialchars(@$_POST['month']).'"/><br/>
Год:<input name="year" maxlength="4" title="year" size="4" value="'.htmlspecialchars(@$_POST['year']).'"/><br/>
*Город:<br/>
<input name="city" maxlength="40" title="city" value="'.htmlspecialchars(@$_POST['city']).'"/><br/>
Транслит<input type="checkbox" name="city2t" value="1"><br/><br/>Сотовый оператор<br/>
<input name="op" maxlength="20" title="op"/><br/>
Модель телефона:<br/>
<input name="mob" maxlength="40" title="mob" value="'.htmlspecialchars(@$_POST['mob']).'"/><br/>
Номер телефона:<br/>+
<input name="number" maxlength="11" title="number" value="'.htmlspecialchars(@$_POST['number']).'"/><br/>
e-mail:<br/>
<input name="mail" maxlength="70" title="mail" value="'.htmlspecialchars(@$_POST['mail']).'"/><br/>
Ваш wap-сайт:<br/>
<input name="site" maxlength="70" value="http://" title="site"/><br/>
*О себе:<br/>
<input name="infa" maxlength="200" title="infa"/><br/>
Транслит<input type="checkbox" name="infa2t" value="1"><br/><br/>*&#x041F;&#x0440;&#x043E;&#x0432;&#x0435;&#x0440;&#x043E;&#x0447;&#x043D;&#x044B;&#x0439; &#x043A;&#x043E;&#x0434;:<br/>
<input name="kod2" size="5"/><br/><br/>';
if(strstr($_SERVER['HTTP_USER_AGENT'],'Opera') and strstr($_SERVER['HTTP_USER_AGENT'],'mini'))
$forma.='<img src="img.php?reg='.$s.'"  alt="kod"/><br />'.'<input class="ibutton" type="submit" value="Регистрация"/></div></form>';
else
$forma.='<img src="img.php?reg='.$s.'" /><br />'.'<input class="ibutton" type="submit" value="Регистрация"/></div></form>';
	}
$act=@$_GET['act'];

/////////////////
print $beginpage;
print $vydel."Регистрация<br/>$vydel1";
if(!$act)
print $forma;
else
	{
	$err='';
	function mysqlstr($str,$end=null)	
		{
		if(@!$end)
		return mysql_real_escape_string(htmlspecialchars(trim($str)));
		else
				{
				$str=substr($str,0,$end);
				return mysql_real_escape_string(htmlspecialchars(trim($str)));
				}
		}
	function translit($str)
		{
		$lat = array("Ch", "ch", "Ye", "ye", "Yu", "yu", "Ya", "ya", "Shc", "shc", "Sh", "sh", "Yo", "yo", "Q", "q", "'", "A", "a", "B", "b", "C", "c", "D", "d", "E", "e", "F", "f", "G", "g", "H", "h", "I", "i", "J", "j", "K", "k", "L", "l", "M", "m", "N", "n", "O", "o", "P", "p", "R", "r", "S", "s", "T", "t", "U", "u", "V", "v", "X", "x", "Z", "z");
$rus = array("Ч", "ч", "Э", "э", "Ю", "ю", "Я", "я", "Щ", "щ", "Ш", "ш", "Ё", "ё", "Ь", "ь", "ъ", "А", "а", "Б", "б", "Ц", "ц", "Д", "д", "Е", "е", "Ф", "ф", "Г", "г", "Х", "х", "И", "и", "Ж", "ж", "К", "к", "Л", "л", "М", "м", "Н", "н", "О", "о", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "В", "в", "Х", "х", "З", "з");
		return str_replace($lat, $rus, $str);
		}


$user=mysqlstr(@$_POST['user'],25);
if(@$_POST['user2t'])
$user=translit($user);
//логин
function nr($nick)
				{
				$nr=array('ё','й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю');
				
				$vr=array('Ё','Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ','Ф','Ы','В','А','П','Р','О','Л','Д','Ж','Э','Я','Ч','С','М','И','Т','Ь','Б','Ю');
				return str_replace($vr,$nr,$nick);
				}
			$nnick=nr($user);
if(preg_match("/[^A-Za-zёйцукенгшщзхъфывапролджэюбьтимсчяЁЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮ1-9\@\*\(\)\?\!\-\~\_\[\]\=]+/",$user) or !$user) $err.= "Ошибка!Ник должен состоять только из знаков латинского/русского алфавитов,а также цифр и знаки _?()<br/>";
	elseif(mysql_num_rows(mysql_query("SELECT * from `user` WHERE `login`='$nnick'")))
	$err.="Ошибка!такой ник уже зарегистрирован.Выберите другой<br/>";
	
	//Пароль
	$pass=mysql_real_escape_string(htmlspecialchars(trim(@$_POST['pass'])));
	$pass=substr($pass,0,20);
	$pass2=@$_POST['pass2'];
	if (!isset($pass) or preg_match("/[^A-Za-z1-9]+/",$pass) or empty($pass))
	$err.="Ошибка!Пароль должен состоять только из символов латинского алфавита и цифр<br/>";
	elseif($pass2!=$pass)
	$err.="Пароль не совпадают$pass $pass2<br/>";
	elseif(strlen($pass)<4)
	$err.='Пароль слишком короткий<br/>';
	//Имя:
	$name=mysqlstr($_POST['name'],30);
	if(@$_POST['name2t'])
	$name=translit($name);
	if(!$name)
	$err.='Вы не ввели имя<br/>';
	//Город
		$city=mysqlstr($_POST['city'],40);
	if(@$_POST['city2t'])
	$city=translit($city);
	if(!$city)
	$err.='Вы не ввели Город<br/>';
	//Дата рождения:
	$day=intval($_POST['day']);
	$month=intval($_POST['month']);
	$year=intval($_POST['year']);
	if($year>1998 or $year<1950 or !checkdate($month, $day, $year))
	$err.='Неверно указана дата рождения<br/>';
	//Пол
		$sex=intval($_POST['sex']);
	if($sex>1 or $sex<0)
	$sex=1;
	//Сотовый оператор:
	$op=mysqlstr($_POST['op'],25);
	//Мобила:
	$mob=mysqlstr($_POST['mob'],80);
	$number=mysqlstr(@$_POST['number']);
	//e-mail:
	$mail=mysqlstr($_POST['mail'],35);
	//Сайт:
	$site=mysqlstr($_POST['site'],35);
	//О себе:
	$infa=mysqlstr($_POST['infa'],400);
	if(!$infa)
	$err.='вы не заполнили информацию о себе<br/>';
	//Проверочный код:<br/>
	$kod2=intval(@$_POST['kod2']);
	if($kod2!=$_SESSION['kod'])
	$err.='НЕверно указан проверочный код<br/>';
	if($err)
	print $err.$forma;
		else
			{
			
			$ip=mysqlstr($_SERVER['REMOTE_ADDR']);
			$ips = explode('.',$ip);
			@$longip = $ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256;
			$useragent=mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']);
			$time=time();
			mysql_query("INSERT into `user` VALUES('0','$user','$nnick','$pass','$name','$sex','$day','$month','$year','0','0','$city','$op','$mob','$number','$mail','$site','$infa','$time','$time','$ip','0','2','0','--','8','1','1','0','0','0','0','0','300','15','0','0','$useragent','0','0','$longip','')") or die(mysql_error());
			
			print "Вы успешно зарегистрировались.Ваш логин: $user<br/>
			Ваш пароль: $pass<br/>
			<a href=\"enter.php?str=$str&amp;pass=$pass&amp;login=$user\">Войти</a><br/>
			";
			}
	}
print "<a href=\"index.php?str=$str\">Вернуться</a><br/>";
print $razd.$endpage;
print '<!-- '.(microtime()-$mt).' -->';
?>