File size: 4.92Kb
<?php
###################################################
# Скрипт портфолио #
# Версия системы: 1.0 #
# Автор: RonsoN #
# ICQ: 7-191-321 #
# Email: [email protected] #
###################################################
$system['page_title'] = 'Регистрация';
require_once(HOME .'/system/header.php');
if (isset($user)) { header('Location: /'); exit; }
if (isset($_POST['reg_submit'])) {
# Логин
$reg_login = txt($_POST['reg_login']);
if (empty($reg_login)) $err .= 'Не введен логин<br />';
if (!empty($reg_login) && (strlen($reg_login) < 3 || strlen($reg_login) > 32)) $err .= 'Неверная длина логина. Допустимо от 3 до 32 символов<br />';
if(preg_match("/[^A-Za-z1-9\@\*\(\)\?\!\-\~\_\[\]\=]+/",$reg_login)) $err .= 'Логин должен состоять из Русского и Латинского алфавита, цифры и знаки - = @ ! ? ~ _ ( ) [ ] *<br/>';
if ($db->query("SELECT * FROM `users` WHERE `login` = '".$reg_login."' LIMIT 1")->rowCount() != 0)$err .= 'Логин ' . $reg_login . ' занят. Выберите другой<br />';
# Пароль
$reg_password = txt($_POST['reg_password']);
if (empty($reg_password)) $err .= 'Не введен пароль<br />';
if (!empty($reg_password) && (strlen($reg_password) < 5 || strlen($reg_password) > 64)) $err .= 'Неверная длина пароля. Допустимо от 5 до 64 символов<br />';
# Повторный пароль
$reg_password2 = txt($_POST['reg_password2']);
if (empty($reg_password2)) $err .= 'Не введен повторный пароль<br />';
# Проверка совпадения паролей
if (!empty($reg_password2) && $reg_password != $reg_password2) $err .= 'Пароли не совпадают<br />';
# Email
$email = txt($_POST['email']);
if (empty($email)) $err .= 'Email не введён<br />';
if(!empty($email) && !preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i",$email)) $err .= 'Email введён неверно<br/>';
# Captcha
$secpic = txt($_POST['secpic']);
if (empty($secpic)) $err .= 'Проверочный код не введён<br />';
if(!empty($secpic) && $_SESSION['secpic'] != $secpic) $err .= 'Проверочный код введён неверно<br/>';
if (!isset($err)) {
$reg_password = encrypt($reg_password);
$db->query("INSERT INTO `users`(`login`, `password`, `email`, `date_reg`, `date_last_entry`) VALUES('". $reg_login ."', '". $reg_password ."', '". $email ."', '". time() ."', '". time() ."')");
//print_r($db->errorInfo());
echo '<div class="menu">Завершение регистрации</div>
<div class="main">
Регистрация на сайте успешно завершена.<br/>
Вы можете войти на сайт под регистрационными данными:<br />
Ваш ID: '.$db->lastInsertId().'<br/>
Ваш логин: '.$reg_login.'<br/>
Ваш пароль: '.$reg_password2.'
</div>';
require_once(HOME .'/system/footer.php');
exit;
}
}
echo '<div class="menu">Регистрация</div>';
if(isset($err)) error($err);
echo '<div class="main">
<form method="post" action="/user/registration.xhtml">
Логин: (max 32)<br />
<input type="text" name="reg_login" value="'. out($_POST['reg_login']) .'" /><br />
<div class="info">Мин. 2, макс. 32 символа.<br />Разрешены буквы Русского и Латинского алфавита, цифры и знаки - = @ ! ? ~ _ ( ) [ ] *</div>
Пароль: (max 64)<br />
<input type="password" name="reg_password" /><br />
Повторите пароль:<br />
<input type="password" name="reg_password2" /><br />
<div class="info">Мин. 3, макс. 64 символа.<br />Разрешены буквы Латинского алфавита и цифры</div>
Email:<br />
<input type="text" name="email" /><br />
Проверочный код:<br/>
<img src="'. URL .'/system/captcha/secpic.php" alt="captcha" /><br/>
<input type="text" name="secpic" size="4" /><br />
<input type="submit" name="reg_submit" value="Регистрировать" />
</form>
</div>';
echo '<div class="info"><div class="error">
Просьба не регистрировать ники типа 111, ггг, uuuu и им подобные, они будут сразу же удалены.
</div></div>';
echo '<div class="navi">
'.NAVI.'<a href="/user/entry.xhtml">Авторизация</a><br/>
'.INDEX.'<a href="/">Главная</a>
</div>';
require_once(HOME .'/system/footer.php');
?>