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

Размер файла: 3.63Kb
<?php
// coding by Felis
require_once('sys/kernel.php');
require_once('temp/cap.php');

switch($mode)
{
default:
if(!isset($_GET['agree']))
{
	echo $fnc->alert('Соглашение', 'Перед началом регистрации ознакомьтесь с <a href="rules.php">правилами</a> чата, незнание которых является нарушением!');
	echo $fnc->cont('- <a href="'.CFILE.'?agree">Согласен</a><br />- <a href="main.php">Не согласен</a>');
}
else
{
	$rand1 = mt_rand(1111,9999);
	$rand2 = mt_rand(1111,9999);
	
	$_SESSION['int_rand'] = $rand1 + $rand2;
	echo $fnc->alert('Регистрация', '<form action="'.CFILE.'?mode=go" method="post">
	<!-- Логин<br /> -->
	<input type="hidden" name="login" maxlength="22" />
	<!-- Пароль<br /> -->
	<input type="hidden" name="password" />
	Логин:<br />
	<input type="text" name="_post_field_" maxlength="22" /><br />
	E-mail:<br />
	<input type="text" name="_post_field_2_" maxlength="255" /><br />
	Пароль:<br />
	<input type="password" name="_post_field_3_" /><br />
	Сумма <b>'.$rand1.'</b> и <b>'.$rand2.'</b>:<br />
	<input type="text" name="_post_field_4_" /><br />
	<input type="submit" value="Отправить" />
	</form>');
}
break;

case 'go':
$postfield1 = $_POST['login'];
$postfield2 = $_POST['password'];
$username = trim($_POST['_post_field_']);
$mail = trim($_POST['_post_field_2_']);
$password = trim($_POST['_post_field_3_']);
$int_rand = (int)$_POST['_post_field_4_'];
	$err = NULL;

if(empty($username))
{
	$err .= '- логин не должен быть <b>пустым</b><br />';
}
if(!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,6}$/i", $mail))
{
	$err .= '- вы ввели неверный <b>E-mail адрес</b><br />';
}
if(empty($password))
{
	$err .= '- пароль не должен быть <b>пустым</b><br />';
}
if($int_rand != $_SESSION['int_rand'])
{
	$err .= '- неправильно введено проверочное <b>число</b><br />';
}
if(!empty($postfield1) || !empty($postfield2))
{
	$err .= '- ошибка параметров <b>регистрации</b><br />';
}
if(empty($err))
{
	$username = $fnc->out($username, 1);
	$mail = $fnc->out($mail, 1);
	$password = $fnc->out($password, 1);
	$reg_password = $fnc->encode($password);
	
	if($db->query("SELECT `id` FROM `users` WHERE `login`='$username' LIMIT 1")->num_rows > 0)
	{
		$err .= '- данный логин уже <b>зарегистрирован</b><br />';
	}
	if($db->query("SELECT `id` FROM `users` WHERE `mail`='$mail' LIMIT 1")->num_rows > 0)
	{
		$err .= '- данный e-mail уже <b>зарегистрирован</b>';
	}
}
if(empty($err))
{
	$db->query("INSERT INTO `users` (`login`,`passwd`,`mail`,`regdate`) VALUES ('$username','$reg_password','$mail','$time');");
	$in_id = $db->insert_id;
	if($in_id == 1) $db->query("UPDATE `users` SET `access`='a' WHERE `id`=".$in_id);
	
	echo $fnc->alert('Завершение регистрации', 'Вы успешно зарегистрированы в чате!');
	echo $fnc->cont('Ваш ID: <b>'.$in_id.'</b><br />
	Ваш логин: <b>'.$username.'</b><br />
	Ваш пароль: '.$password.'<br />
	<em>Приятного общения в нашем чате!</em>');
	echo $fnc->cont2('<a href="main.php">На главную</a>');
}
else
{
	echo $fnc->alert('Ошибка!', '<i>Вполне вероятно, что:</i><br />'.$err);
}
	unset($_SESSION['int_rand']);
break;
}

require_once('temp/foot.php');

// конец файла ./register.php