View file modules/user/registration.php

File size: 4.27Kb
<?php


// проверка наличия авторизации
if (isset($user))
{
    # Перенаправляем на главную
    header('Location: /');
}

# Заголовок модуля
$system['page_title'] = 'Регистрация';

# Шапка модуля
require_once(HOME .'/incfiles/header.php');

// Обрабатываем запрос на регистрацию
if (isset($_POST['reg_submit'])) {
	# Логин
    $reg_login = txt($_POST['reg_login']);

    # Проверка ввода логина
    if (empty($reg_login)) $err .= '<div class="menu">Не введен логин</div>';

    # Проверка длины логина
    if (!empty($reg_login) && (strlen($reg_login) < 3 || strlen($reg_login) > 32)) $err .= '<div class="menu">Неверная длина логина. Допустимо от 3 до 32 символов</div>';
    # проверка логина на наличие символики
		if (!preg_match('|^[a-z0-9\-]+$|i', $reg_login)) {
		$err .= '<div class="menu">Логин может состоять только из букв и цифр!</div>';
		}
			
    # Проверка занятости логина
    if (mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `login` = '". input($reg_login) ."'")) != 0) $err .= '<div class="menu">Логин ' . $reg_login . ' занят. Выберите другой</div>';

    # Пароль
    $reg_password = txt($_POST['reg_password']);

    # Проверка ввода пароля
    if (empty($reg_password)) $err .= '<div class="menu">Не введен пароль</div>';

    # Проверка длины пароля
    if (!empty($reg_password) && (strlen($reg_password) < 5 || strlen($reg_password) > 64)) $err .= '<div class="menu">Неверная длина пароля. Допустимо от 5 до 64 символов</div>';

    # Повторный пароль
    $reg_password2 = txt($_POST['reg_password2']);

    # Проверка ввода повторного пароля
    if (empty($reg_password2)) $err .= '<div class="menu">Не введен повторный пароль</div>';

    # Проверка совпадения паролей
    if (!empty($reg_password2) && $reg_password != $reg_password2) $err .= '<div class="menu">Пароли не совпадают</div>';

    // Проводим регистрацию
    if (!isset($err)) {
        # Кодируем пароль
        $reg_password = encrypt($reg_password);

        # Запрос на регистрацию
        mysql_query("INSERT INTO `users` SET `login` = '". input($reg_login) ."', `password` = '". input($reg_password) ."', `date_reg` = '". time() ."', `date_last_entry` = '". time() ."'");

        # Выводим уведомление
        echo '<div class="title">Завершение регистрации</div>
        <div class="menu">
        Регистрация на сайте успешно завершена. Вы можете войти на сайт под регистрационными данными или перейти ниже по ссылке быстрой авторизации.<br />
        <a href="/?login='. input($reg_login) .'&amp;password='. input($reg_password2) .'">Быстрая авторизация</a>
        </div>';

        # Ноги модуля
        require_once(HOME .'/incfiles/footer.php');
    }
}

error($err);



echo '<div class="title">Регистрация</div>
<form method="post" action="/user/registration.php">
<div class="menu">
Логин: (max 32)<br />
<input type="text" name="reg_login" value="'. output($_POST['reg_login']) .'" /><br />
<span class="small_info">* Только англ. символы.</span><br />
Пароль: (max 64)<br />
<input type="password" name="reg_password" /><br />
Повторите пароль:<br />
<input type="password" name="reg_password2" /><br />
 
<input type="submit" name="reg_submit" value="Регистрировать" />
</div>
</form>';

echo '<div class="block">
&raquo; <a href="/user/entry.php">Авторизация</a><br />
&raquo; <a href="/">На главную</a>
</div>';


# Ноги модуля
require_once(HOME .'/incfiles/footer.php');

?>