Файл: public_html/other/reg.php
Строк: 64
<?php
$title = 'Регистрация';
require_once '../includes/sys.php';
require_once '../includes/header.php';
if (isset($u['id'])) {
redirect(HTTPHOME);
}
if (empty($config['regoff'])) {
switch ($act) {
default:
tp('Регистрация');
echo '<div class="body">';
echo '<form name="form" action="?act=do" method="post">
<b>Логин(min3, max12):</b><br /><input name="username" type="text" maxlength="12"><br />
<b>Пароль(min3, max20, a-z, 0-9):</b><br /><input name="password" type="text" maxlength="20" /><br />
<b>E-mail(max50):</b><br /><input name="email" type="text" maxlength="50" /><br />
Я согласен(а) с <a href="info.php?act=rules">правилами</a><br />
<input type="submit" value="Регистрация"/>
</form>
</div>';
break;
case 'do':
$username = check($_POST['username']);
$password = check($_POST['password']);
$email = check($_POST['email']);
$query = mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `username` = '$username'");
if (mysql_result($query, 0) > 0) {
error('Этот логин уже занят.');
break;
}
if (strlen($username) < 3 or strlen($username) > 12) {
error('Логин должен быть не меньше 3-х и не больше 12-и символов.');
break;
}
if (!preg_match('|^[a-z0-9-]+$|i', $password)) {
error('Пароль может состоять только из букв английского алфавита и цифр.');
break;
}
if (strlen($password) < 3 or strlen($password) > 20) {
error('Пароль должен быть не меньше 3-х и не больше 20-и символов.');
nav('?');
break;
}
if (!preg_match('/[0-9a-z_-]+@[0-9a-z_-^.]+.[a-z]{2,6}/i', $email)) {
error('E-mail введён не верно.');
break;
}
$ok = !empty($config['activation']) ? 0 : 1;
$email_ver = !empty($config['email_ver']) ? generate(10) : 1;
mysql_query("INSERT INTO `users` SET `username` = '$username', `password` = '".md5(md5($password))."', `email` = '$email', `regtime` = '".TIME."', `lastvisit` = '".TIME."', `style` = '$config[style]', `language` = '$config[language]', `onpage` = '$config[onpage]', `email_ver` = '$email_ver', `ok` = '$ok'") or die(mysql_error());
$userid = mysql_insert_id();
tp('Успешная регистрация');
echo '<div class="body">Вы успешно зарегистрированы.<br />
Логин: '.$username.'<br />
Пароль: '.$password.'<br />
Автологин:<br /><input name="auto" type="text" value="'.HTTPHOME.'/a.php?l='.$username.'&p='.$password.'" /><br />
<a href="../a.php?l='.$username.'&p='.$password.'">Ввойти по автологину</a>';
if ($email_ver != 1) {
$email_ver_text = '---
Вам необходимо перейти по ссылке ниже для подтверждения вашего E-mail.
'.HTTPHOME.'/other/profile.php?act=email_ver&id='.$userid.'&ver='.$email_ver;
echo '<b>Включено подтверждение по E-mail.</b><br /> На вашу почту отправлено письмо со ссылкой, по которой необходимо перейти чтобы подтвердить ваш E-mail.';
}
if (empty($ok)) {
echo '<b>Включена активация аккаунтов.</b><br /> Дождитесь проверки вашего аккаунта администратором.';
}
echo '</div>';
$email_a = 'admin@&'.HOME;
$message = 'Уважаемый пользователь!
Вы зарегистрировались на '.HOME.', данные для доступа:
Логин: '.$username.'
Пароль: '.$password.'
E-mail: '.$email.'
Автологин: '.HTTPHOME.'/a.php?l='.$username.'&p='.$password.'
'.$email_ver_text.'
С уважением, '.HOME;
mail($email, '=?utf-8?B?'.base64_encode('Регистрация на '.HOME).'?=', $message, "From: $email_arnContent-type: text/plain; charset=utf-8;rnX-Mailer: PHP;");
unset($_SESSION['code']);
break;
}
} else {
error('Регистрация временно приостановлена');
}
require_once '../includes/tail.php';
?>