<?
require('ini.php');
$link=connect();
head('Регистрация');
@$mod=$_GET['mod'];
switch($mod){
default:
echo '<small><b>Регистрация:</b> шаг первый<br/>';
echo '<b>Поля помеченные * обязательны для заполнения!</b><br/>';
echo 'В нике можно использовать буквы латинского и русского алфавита, цифры, пробел, а также символы @, !, ), (, _ и -<br/>';
echo '* Ваш ник:</small><br/>';
echo '<input name="nick" type="text" maxlength="30"/><br/>';
echo '<small>* Код Вашего региона/страны: <a href="help.php?mod=city">[?]</a></small><br/>';
echo '<input name="region" type="text" format="*N" maxlength="3" size="3"/><br/>';
echo '<small>* Введите число с картинки:</small> <img src="img.php?'.$ref.'" alt="img"/><br/>';
echo '<input name="word'.$ref.'" type="text" format="*N" size="3" maxlength="2"/><br/>';
echo '<small><anchor>Далее...<go href="reg.php?mod=next" method="post">';
echo '<postfield name="nick" value="$(nick)"/>';
echo '<postfield name="region" value="$(region)"/>';
echo '<postfield name="word" value="$(word'.$ref.')"/>';
echo '<postfield name="sess" value="'.$ref.'"/>';
echo '</go></anchor></small><br/>';
break;
case 'next':
$error=false;
@$nick=trim(htmlspecialchars($_POST['nick'],ENT_QUOTES));
@$region=intval($_POST['region']);
@$word=intval($_POST['word']);
@$sess=intval($_POST['sess']);
if(!$nick or !$region or !$word){
echo '<small><b>Вы не заполнили обязательные поля!</b><br/><anchor>Назад<prev/></anchor><br/></small>';
break;
}
mysql_query("select id from wip_users where nick='$nick';");
if(mysql_affected_rows()>0){
echo '<small><b>Ник '.$nick.' уже зарегистрирован в системе!</b><br/>---<br/></small>';
$error=true;
}
if(strlen($nick)>60){
echo '<small><b>Слишком длинный ник!</b><br/>---<br/></small>';
$error=true;
}
$nick_tmp = strtr($nick, array('а'=>'|','б'=>'|','в'=>'|','г'=>'|','д'=>'|','е'=>'|','ё'=>'|','ж'=>'|','з'=>'|','и'=>'|','й'=>'|','к'=>'|','л'=>'|','м'=>'|','н'=>'|','о'=>'|','п'=>'|','р'=>'|','с'=>'|','т'=>'|','у'=>'|','ф'=>'|','х'=>'|','ц'=>'|','ч'=>'|','ш'=>'|','щ'=>'|','ъ'=>'|','ы'=>'|','ь'=>'|','э'=>'|','ю'=>'|','я'=>'|','А'=>'|','Б'=>'|','В'=>'|','Г'=>'|','Д'=>'|','Е'=>'|','Ё'=>'|','Ж'=>'|','З'=>'|','И'=>'|','Й'=>'|','К'=>'|','Л'=>'|','М'=>'|','Н'=>'|','О'=>'|','П'=>'|','Р'=>'|','С'=>'|','Т'=>'|','У'=>'|','Ф'=>'|','Х'=>'|','Ц'=>'|','Ч'=>'|','Ш'=>'|','Щ'=>'|','Ъ'=>'|','Ы'=>'|','Ь'=>'|','Э'=>'|','Ю'=>'|','Я'=>'|'));
if (preg_match("/[^a-z0-9\@\(\)\!\-\_\|]+/i", $nick_tmp)){
echo '<small><b>Запрещенные символы в нике!</b><br/>В нике можно использовать буквы русского, латинского алфавита, цифры, пробел, а также символы @, !, ), (, _ и -<br/>---<br/></small>';
$error=true;
}
$select=mysql_query("select name from wip_regions where id='$region';");
if(mysql_affected_rows()<1){
echo '<small><b>Введен неверный код региона/страны!</b><br/>Список доступных кодов Вы можете посмотреть <a href="help.php?mod=city">здесь</a><br/>---<br/></small>';
$error=true;
}
$regname=mysql_fetch_row($select);
$select=mysql_query("select word from wip_regs where sess='$sess' and ip='$addr' and soft='$agent';");
if(mysql_affected_rows()<1){
echo '<small><b>Ошибка отображения проверочного кода!</b><br/>Возможно картинка с проверочным числом не была загружена браузером. Пожалуйста, включите в браузере отображение картинок и обновите страницу регистрации.<br/>---<br/></small>';
$error=true;
}
$wrd=mysql_fetch_row($select);
if($word!=$wrd[0]){
echo '<small><b>Неверное число с картинки!</b><br/>Внимательно введите число с проверочной картинки<br/>---<br/></small>';
$error=true;
}
if($wrd[0]) mysql_query("delete from wip_regs where sess='$sess' and ip='$addr' and soft='$agent';");
if($error==true){
echo '<small><anchor>Назад<prev/></anchor></small><br/>';
break;
}
////
echo '<small><b>Регистрация:</b> шаг второй<br/>';
echo '<b>Поля помеченные * обязательны для заполнения!</b><br/>---<br/>';
echo '<b>Ник:</b> '.$nick.'<br/>';
echo '* Пароль:<br/>Должен содержать буквы латинского алфавита и/или цифры. Не используйте простых паролей, их легко подобрать!<br/></small>';
echo '<input name="pass" type="text" maxlength="20"/><br/>';
echo '<small>* Настоящее имя:</small><br/>';
echo '<input name="name" type="text" maxlength="30"/><br/>';
echo '<small>* Пол:</small>';
echo '<select name="sex">';
echo '<option value="m">M</option>';
echo '<option value="zh">Ж</option>';
echo '</select><br/>';
echo '<small>Дата Рождения:</small><br/>';
echo '<input name="day" maxlength="2" format="*N" size="2"/>-';
echo '<input name="month" maxlength="2" format="*N" size="2"/>-';
echo '<input name="year" maxlength="4" format="*N" size="4"/><br/>';
echo '<small><b>Откуда:</b> '.$regname[0].' ['.$region.']<br/>';
echo 'E-mail:<br/>На этот адрес будет выслан Ваш новый пароль, если вы забудете его и запросите новый, адрес в анкете не отображается. Сменить E-mail, если Вы сейчас его введете, будет нельзя.<br/></small>';
echo '<input name="mail" type="text" maxlength="50"/><br/>';
echo '<small>* О себе:</small><br/>';
echo '<input name="about" type="text" maxlength="300"/><br/>';
echo '<small><anchor>Далее...<go href="reg.php?mod=reg" method="post">';
echo '<postfield name="nick" value="'.$nick.'"/>';
echo '<postfield name="name" value="$(name)"/>';
echo '<postfield name="pass" value="$(pass)"/>';
echo '<postfield name="sex" value="$(sex)"/>';
echo '<postfield name="day" value="$(day)"/>';
echo '<postfield name="month" value="$(month)"/>';
echo '<postfield name="year" value="$(year)"/>';
echo '<postfield name="city" value="'.$region.'"/>';
echo '<postfield name="mail" value="$(mail)"/>';
echo '<postfield name="about" value="$(about)"/>';
echo '</go></anchor></small><br/>';
break;
case 'reg':
$error=false;
@$nick=trim(htmlspecialchars($_POST['nick'],ENT_QUOTES));
@$name=trim(htmlspecialchars($_POST['name'],ENT_QUOTES));
@$pass=trim(htmlspecialchars($_POST['pass'],ENT_QUOTES));
@$sex=trim(htmlspecialchars($_POST['sex'],ENT_QUOTES));
@$day=substr(intval($_POST['day']),0,2);
@$month=substr(intval($_POST['month']),0,2);
@$year=substr(intval($_POST['year']),0,4);
@$city=substr(intval($_POST['city']),0,3);
@$mail=trim(htmlspecialchars($_POST['mail'],ENT_QUOTES));
@$about=trim(htmlspecialchars($_POST['about'],ENT_QUOTES));
if(!$nick or !$pass or !$sex or !$city or !$about){
echo '<small><b>Вы не заполнили обязательные поля!</b><br/><anchor>Назад<prev/></anchor><br/></small>';
break;
}
mysql_query("select id from wip_users where nick='$nick';");
if(mysql_affected_rows()>0){
echo '<small><b>Ник '.$nick.' уже зарегистрирован в системе!</b><br/>---<br/></small>';
$error=true;
}
if(strlen($nick)>60){
echo '<small><b>Слишком длинный ник!</b><br/>---<br/></small>';
$error=true;
}
if (preg_match("/[^a-z0-9\@\(\)\!\-\_]+/i",$nick)){
echo '<small><b>Запрещенные символы в нике!</b><br/>В нике можно использовать буквы латинского алфавита, цифры, пробел, а также символы @, !, ), (, _ и -<br/>---<br/></small>';
$error=true;
}
if (preg_match("/[^a-z0-9]+/i",$pass)){
echo '<small><b>Запрещенные символы в пароле!</b><br/>В пароле можно использовать только буквы латинского алфавита и цифры<br/>---<br/></small>';
$error=true;
}
$select=mysql_query("select name from wip_regions where id='$city';");
if(mysql_affected_rows()<1){
echo '<small><b>Введен неверный код региона/страны!</b><br/>Список доступных кодов Вы можете посмотреть <a href="help.php?mod=city">здесь</a><br/>---<br/></small>';
$error=true;
}
$regname=mysql_fetch_row($select);
if ($day and $month and $year){
if ($day>31 or $day<=0 or $month<=0 or $month>12 or $year<=0 or $year<1900 or $year>=date('Y')){
echo '<small><b>Неверно введена дата рождения!</b><br/>Дата Рождения должна вводится в формате ДД-ММ-ГГГГ и быть корректной. Если Вы не хотите разглашать свой возраст, можете её вообще не вводить.<br/>---<br/></small>';
$error=true;
}
}
if($sex!='m' and $sex!='zh'){
echo '<small><b>Неверный ввод пола!</b><br/>---<br/></small>';
$error=true;
}
if($mail and !eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$",$mail)){
echo '<small><b>Неверный введён E-mail!</b><br/>---<br/></small>';
$error=true;
}
if(strlen($about)>600){
echo '<small><b>Введена слишком длинная информация о себе!</b><br/>---<br/></small>';
$error=true;
}
if(strlen($name)>60){
echo '<small><b>Введено слишком длинное настоящее имя!</b><br/>---<br/></small>';
$error=true;
}
if($error==true){
echo '<small><anchor>Назад<prev/></anchor></small><br/>';
break;
}
$ins=mysql_query("insert into wip_users set nick='$nick', pass='".md5($pass)."', name='$name', sex='$sex', day='$day', month='$month', year='$year', city='$city', mail='$mail', about='$about', datereg='".time()."', ip='$addr', soft='$agent';");
if(!$ins){
echo '<small><b>Произошла внутренняя ошибка!</b><br/>Попробуйте обновить страницу, если ошибка повторится, обратитесь к администрации.</small><br/>';
break;
}
$uid=mysql_insert_id();
echo '<small>';
echo 'Вы успешно зарегистрированы!<br/>';
echo '---<br/>';
echo '<b>Ваш UID:</b> '.$uid.'<br/>';
echo '<b>Ваш ник:</b> '.$nick.'<br/>';
echo '<b>Ваш пароль:</b> '.$pass.'<br/>';
echo '---<br/>';
echo 'Пожалуйста, хорошо запомните или запишите эти данные, они понадобятся для входа в систему.<br/>';
echo 'Сейчас Вы можете ';
echo '<anchor>войти в систему<go href="enter.php?'.$ref.'" method="post">';
echo '<postfield name="uid" value="'.$uid.'"/>';
echo '<postfield name="pass" value="'.$pass.'"/>';
echo '</go></anchor></small><br/>';
break;
}
echo '<small>---<br/>';
echo '<a href="index.php">На главную</a></small>';
foot();
mysql_close($link);
?>