Размер файла: 3.53Kb
<?php
// by mides, 1da.su
$title = 'Регистрация';
require_once 'system/sys.php';
require_once 'system/header.php';
if ($u['id']) header('location: ./');
switch ($_GET['act']) {
default:
tp('Регистрация');
echo '<form action="?act=do" method="post">
Логин(min3, max12, a-z, 0-9):<br /><input name="login" type="text" maxlength="8" /><br />
E-mail(max50):<br /><input name="email" type="text" maxlength="50" /><br />
Введите: <img src="inc/code.php?'.session_name().'='.session_id().'" alt="" /><br/>
<input name="code" maxlength="5" /><br />
С <a href="info.php?act=rules">правилами</a> <u>согласен(а)</u><br />
<input type="submit" value="Регистрация"/>
</form>';
nav_main();
break;
case 'do':
$login = check($_POST['login']);
$pass = generate(8);
$email = check($_POST['email']);
$code = intval($_POST['code']);
# проверяем, не сущестует ли пользователя с таким именем
$query = mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `login` = '$login'");
if (mysql_result($query, 0) > 0) {
error('Пользователь с таким логином уже существует.');
nav('?');
break;
}
# проверка логина
if (!preg_match('|^[a-z0-9\-]+$|i', $login)) {
error('Логин может состоять только из маленьких букв английского алфавита и цифр.');
nav('?');
break;
}
# проверяем длину
if (strlen($login) < 3 or strlen($login) > 12) {
error('Логин должен быть не меньше 3-х и не больше 12-и символов.');
nav('?');
break;
}
# проверяем e-mail;
if (!preg_match('/[0-9a-z_\-]+@[0-9a-z_\-^\.]+\.[a-z]{2,6}/i', $email)) {
error('E-mail введён не верно.');
nav('?');
break;
}
# проверяем, правильно ли введен защитный код
if ($_SESSION['checkcode'] != $code or empty($code)) {
error('Вы ввели неверный проверочный код.');
nav('?');
break;
}
mysql_query("INSERT INTO `users` SET `login` = '$login', `pass` = '".md5(md5($pass))."', `email` = '$email', `regtime` = '".time()."', `style` = '$config[style]', `onpage` = '$config[onpage]'");
tp('Информация');
echo 'Вы успешно зарегистрированы.<br />
Логин: '.$login.'<br />
Пароль: '.$pass.'<br />
Автологин:<br /><input name="auto" type="text" value="http://'.$config['copy'].'/a.php?l='.$login.'&p='.$pass.'" /><br />
<a href="a.php?l='.$login.'&p='.$pass.'">Ввойти по автологину</a>';
nav_main();
// sending e-mail
$email_a = 'admin@'.$config['copy'];
$message = 'Уважаемый пользователь!
Вы зарегистрировались на '.$config['copy'].', данные для доступа:
Логин: '.$login.'
Пароль: '.$pass.'
E-mail: '.$email.'
Автологин: http://'.$config['copy'].'/a.php?l='.$login.'&p='.$pass.'
С уважением, '.$config['copy'];
mail($email, '=?utf-8?B?'.base64_encode('Регистрация на '.$config['copy']).'?=', $message, "From: $email_a\r\nContent-type: text/plain; charset=utf-8;\r\nX-Mailer: PHP;");
session_destroy();
break;
}
require_once 'system/tail.php';
?>