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

Размер файла: 4.5Kb
<?php 
// by mides, icq: 529-899-6, mail: [email protected]

$title = 'Регистрация';
require("../config.php");
require("../includes/start.php");
require("../includes/functions.php");

tp('Регистрация');

switch($_GET['act']){

###############################################################################
##                         Форма регистрации                                 ##
###############################################################################
default:

echo '<div class="s1">Введите данные</div><div class="s2">';
echo '<form action="?act=reg_do" method="post" name="form">';
echo 'Логин:<br/><input name="login" type="text" maxlength="20" /><br/>';
echo 'E-mail:<br/><input name="mail" type="text" maxlength="20" /><br/>';
echo 'Пароль:<br/><input name="pass" type="text" maxlength="20" /><br/>';
echo 'Введите число:<br/>';
$_SESSION['protect'] = rand(1111, 9999);
echo '<img src="../images/protect.php" alt="" /><br />';
echo '<input name="protect" type="text" maxlength="4" /><br/>';
echo '<input name="submit" type="submit" value="Регистрация" /></form></div>';
nav();

break;

###############################################################################
##                              Регистрация                                  ##
###############################################################################
case 'reg_do':

if(!empty($_POST['login']) && !empty($_POST['mail']) && !empty($_POST['pass'])){
	$login = sec($_POST['login']);
	$mail = sec($_POST['mail']);
	$pass = sec($_POST['pass']);

	if($_SESSION['login']){
		error('Вы уже зарегистрированы на сайте!');
		nav();
		break;
	}
	
	if(!preg_match('|^[a-z0-9\-]+$|i', $login) or !preg_match('|^[a-z0-9\-]+$|i', $pass)){
		error('Недопустимые символы в логине или пароле. Разрешены знаки латинского алфавита, цифры и дефис!');
		nav2('reg.php', 'назад');
		break;
	}
	
	if(!preg_match('#^([a-z0-9_\-\.])+\@([a-z0-9_\-\.])+(\.([a-z0-9])+)+$#', $mail)){
		error('Вы ввели неверный адрес e-mail, необходим формат [email protected]!');
		nav2('reg.php', 'назад');
		break;
	}
	
	if(strlen($login) < 3){
		error('Слишком короткий логин! От 3 символов!');
		nav2('reg.php', 'назад');
		break;
	}
	
	if(strlen($_POST['pass']) < 5){
		error('Слишком короткий пароль! От 5 символов!');
		nav2('reg.php', 'назад');
		break;
	}
	
	if($_SESSION['protect'] != num($_POST['protect'])){
		error('Вы ввели неверное число!');
		nav2('reg.php', 'назад');
		session_destroy();
		break;
	}
	
	$same_login = mysql_result(mysql_query("SELECT count(*) FROM `users` WHERE `user_login` = '$login'"), 0);
	$same_mail = mysql_result(mysql_query("SELECT count(*) FROM `users` WHERE `user_mail` = '$mail'"), 0);
	if($same_login > 0 or $same_mail > 0){
		error('Пользователь с таким логином или e-mail уже существует!');
		nav2('reg.php', 'назад');
		break;
	}

	mysql_query("INSERT INTO `users` SET `user_login` = '$login', `user_mail` = '$mail', `user_pass` = '".md5($pass)."', `user_regtime` = '".time()."', `set_style` = '".$config['style']."', `set_onpage` = '".$config['onpage']."'");
	info('Вы успешно зарегистрированы! Вы можете войти используя ваш логин и пароль');
	nav();
	
	if(!empty($config['feedback'])){
		$feedback = '---------------------
		'.$config['feedback'];
	}
	
	$message = 'Уважаемый пользователь!
	Вы успешно зарегистрировались на сайте '.$_SERVER['HTTP_HOST'].'
	Это письмо содержит важную информацию о вашем аккаунте.
	Логин: '.$login.'
	Пароль: '.$pass.'
	E-mail: '.$mail.'
	Автологин: http://'.$_SERVER['HTTP_HOST'].'/pages/auth.php?l='.$login.'&p='.$pass.'
	'.$feedback;
		
mail($mail, '=?utf-8?B?'.base64_encode('Регистрация на '.$_SERVER['HTTP_HOST']).'?=', $message, "From: admin@".$_SERVER['HTTP_HOST']."\r\nContent-type: text/plain; charset=utf-8;\r\nX-Mailer: PHP;");


}else{
	error('Вы не заполнили поля!');
	nav2('reg.php', 'назад');
}
 
break;


}
require("../includes/tail.php");
?>