File size: 4.36Kb
<?php
// by mides, wmclub.mobi
$title = 'Регистрация';
require('../config.php');
require('../includes/sys.php');
require('../includes/start.php');
require('../includes/header.php');
switch($_GET['act']){
###############################################################################
## Форма регистрации ##
###############################################################################
default:
tp('Регистрация');
echo '<form action="?act=reg_do" method="post" name="form">';
echo 'Логин(от 3 символов):<br/><input name="login" type="text" maxlength="20" /><br />';
echo 'E-mail:<br/><input name="mail" type="text" maxlength="20" /><br />';
echo 'Пароль(от 5 символов):<br/><input name="pass" type="text" maxlength="20" /><br />';
$_SESSION['protect'] = generate(4);
echo 'Введите код <font color="red">'.$_SESSION['protect'].'</font>:<br />';
echo '<input name="protect" type="text" maxlength="4" /><br />';
echo '<input name="submit" type="submit" value="Ok" /></form>';
nav_main();
break;
###############################################################################
## Регистрация ##
###############################################################################
case 'reg_do':
if(!empty($_POST['login']) && !empty($_POST['mail']) && !empty($_POST['pass'])){
$login = check($_POST['login']);
$mail = check($_POST['mail']);
$pass = check($_POST['pass']);
if($u['id']){
error('Вы уже зарегистрированы на сайте!');
nav_main();
break;
}
if(!preg_match('|^[a-z0-9\-]+$|i', $login) or !preg_match('|^[a-z0-9\-]+$|i', $pass)){
error('Недопустимые символы в логине или пароле. Разрешены знаки латинского алфавита, цифры и дефис!');
nav('reg.php');
break;
}
if(!preg_match('#^([a-z0-9_\-\.])+\@([a-z0-9_\-\.])+(\.([a-z0-9])+)+$#', $mail)){
error('Вы ввели неверный адрес e-mail, необходим формат [email protected]!');
nav('reg.php');
break;
}
if(strlen($login) < 3){
error('Слишком короткий логин! От 3 символов!');
nav('reg.php');
break;
}
if(strlen($_POST['pass']) < 5){
error('Слишком короткий пароль! От 5 символов!');
nav('reg.php');
break;
}
if($_SESSION['protect'] != check($_POST['protect'])){
error('Вы ввели неверное число!');
nav('reg.php');
session_destroy();
break;
}
$same_login = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `user_login` = '$login'"), 0);
$same_mail = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `user_mail` = '$mail'"), 0);
if($same_login > 0 or $same_mail > 0){
error('Пользователь с таким логином или e-mail уже существует!');
nav('reg.php');
break;
}
mysql_query("INSERT INTO `users` SET `user_login` = '$login', `user_mail` = '$mail', `user_pass` = '".md5(md5($pass))."', `user_regtime` = '".time()."', `set_style` = '$config[style]', `set_onpage` = '$config[onpage]'");
info('Вы успешно зарегистрированы! Вы можете войти используя ваш логин и пароль');
nav_main();
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('Вы не заполнили поля!');
nav('reg.php');
}
break;
}
require("../includes/tail.php");
?>