View file reg.php

File size: 4.15Kb
<? include("head.php");
function error($er, $prosto_nax)
{echo "<b>Ошибка:</b> $er<br/><a href='javascript: history.back();'>Назад</a><br/><a href='index.php'>На главную</a>";exit;}

if(isset($_SESSION['user_id']))echo error('Вы уже зарегистрированы!', '');

if(!isset($_GET['registration'])){ ?>
<b>Регистрация</b><hr color="#CCCCCC" />
<form action="reg.php?registration=2" method="post">
Логин <small></small><br /><input name="login" type="text" maxlength="15" /><br />
E-MAIL<br /><input name="email" type="text" /><br />
Пароль <small></small><br /><input name="pass" type="password" /><br />
Потверждение пароля<br /><input name="pass2" type="password" /><br />
Пол<small></small><br />
<select name='sex'>
<option value='1'>Мужской</option>
<option value='2'>Женский</option>
</select><br />
Число <? session_name("rand_reg");@session_start(); $_SESSION['rand_reg']=mt_rand(1,9).mt_rand(10,99).rand(1,9); echo $_SESSION['rand_reg']; ?>
<br /><input name="rand" type="text" /><hr color="white" />
<input name="" type="submit" value="Регистрироваться" />
</form>


<? }
if(isset($_GET['registration']) and $_GET['registration'] == 2)
{
session_name("rand_reg");@session_start();
if(isset($_POST['login']) and $_POST['login']!='')$login=trim($_POST['login']);
else echo error("Не заполнено поле <b>логин</b>", '');
if(isset($_POST['email']) and $_POST['email']!='')$email=trim($_POST['email']);
else echo error("Не заполнено поле <b>e-mail</b>", '');
if(isset($_POST['pass']) and $_POST['pass']!='')$pass=trim($_POST['pass']);
else echo error("Не заполнено поле <b>пароль</b>", '');
if(isset($_POST['pass2']) and $_POST['pass2']!='')$pass2=trim($_POST['pass2']);
else echo error("Не заполнено поле <b>потверждение пароля</b>", '');
if(isset($_SESSION['rand_reg']) and $_SESSION['rand_reg']!='')$rand=trim($_SESSION['rand_reg']);
else echo error("Не заполнено поле <b>число</b>", '');
if(isset($_POST['rand']) and $_POST['rand']==$rand)echo'';
else echo error('Число введено не верно', '');
$sex = intval($_POST['sex']);

if(!preg_match('/^[a-z0-9]+([_.-][a-z0-9]+)?$/', $login)) echo error("<b>Логин</b> заполнен не верно", '');
if(!preg_match('/[a-z0-9]$/', $pass)) echo error("<b>Пароль</b> заполнен не верно", '');
if(!preg_match('|([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is', $email)) echo error("<b>E-mail</b> заполнен не верно", '');

$rtime = @mysql_fetch_array(@mysql_query("SELECT `time` FROM `sh_user` ORDER BY `id` DESC LIMIT 1;"));
$rtime = (time() - $rtime[0]) / 60;

if($rtime < 1) echo error("Нельзя регистрироваться так часто!", '');
if($pass != $pass2) echo error("Введеные пароли НЕ совпадают!", '');
$login=code($login);$pass5=md5($pass);
if($sex < 1 OR $sex >2 ) echo error("Лупить POST запросами дело не благородное, знаешь?!" ,'');
$user_proverka_1 = mysql_query("SELECT * FROM `sh_user` WHERE login='$login'");
$user_2 = mysql_num_rows(mysql_query("SELECT * FROM `sh_user` WHERE email='$email'"));
$user_proverka = mysql_num_rows($user_proverka_1);
if($user_proverka != 0) echo error("Пользователь с таким <b>логин</b>ом уже зарегистрирован" ,'');
if($user_2 != 0)echo error("Пользователь с таким <b>email</b>ом уже зарегистрирован",'');
$strength = 1; $luck = 1;			
if($sex == 1) { $strength = $strength + 1; } else { $luck = $luck + 1; }
$reg_1=mysql_query("INSERT INTO `sh_user` SET login='$login', sex='$sex', pass='$pass5', `avatar`='noavatar.gif', email='$email', rtime = '".time()."', echologin='$login'");
if($reg_1) {echo "Вы успешно зарегистрированы<br>"; echo "Логин: <b>$login</b><br>Пароль: <b>$pass</b>";}
else echo error('Возникла ошибка при регистрации!', '');
}
include("foot.php"); ?>