Размер файла: 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");
?>