File size: 3.92Kb
<?php
##################################################################
## Development by CoMMoN web site author http://mirmastera.ru ##
## fportal web site scripts http://fportal.tk ##
## All rights reserved authors ##
##################################################################
if (isset($user)) {header('Location: /');} //Переадресация пользователей
$act_name = 'Регистрация нового пользователя'; //Имя действия
require_once(ROOT.'/kernel/kernelhead.php'); //Подключение шапки
echo '<div class="title">'.$act_name.'</div>'; //Вывод заголовка
//Обработка
if(isset($_POST['submit'])) {
if(filtr($_POST['captcha']) != filtr($_SESSION['code'])) {
$error .= 'Неверный проверочный код!<br />';
}
if (strlen(filtr($_POST['login'])) >= 15 or strlen(filtr($_POST['login'])) < 3) {
$error .= 'Логин должен содержать в себе от 3 до 15 знаков!<br />';
}
if (!preg_match('|^[a-z0-9\-]+$|i', filtr($_POST['login']))) {
$error .= 'Логин может состоять только из букв и цифр!<br />';
}
$sql = "SELECT COUNT(*) FROM ".PREFIX."users WHERE `login` = '".filtr($_POST['login'])."'";
if ($STH = $mysql->query($sql)) {
if ($STH->num_row > 0) {
$error .= 'Такой логин уже занят!<br />';
}
}
if (filtr($_POST['password']) >= 25 && filtr($_POST['password']) < 5) {
$error .= 'Пароль должен содержать в себе от 5 до 25 знаков!<br />';
}
if (filtr($_POST['password']) != filtr($_POST['password2'])) {
$error .= 'Пароли не совпали!<br />';
}
# Email
$email = filtr($_POST['email']);
# Проверка ввода ника
if (empty($email)){
$error .= 'Не введен email<br />';
}
# Проверка длины логина
if (empty($email)) $error .= 'Неверная длина email. Допустимо от 3 до 100 символов<br />';// && ($email < 2 || $email > 100)
# Проверка символов в логине
if (!empty($email) && !preg_match("#^([a-z0-9_\-\.])+\@([a-z0-9_\-\.])+(\.([a-z0-9])+)+$#ui", $email)){
$error .= 'Запрещенные символы в нике. Разрешены символы A-zА-я0-9-_ и пробел.<br />';
}
if (isset($error)) {
echo '
<div class="error"><b>Возникли ошибки:</b><br /> '.$error.'</div>';
}
if(!isset($error)) {
$reg_log = filtr($_POST['login']);
$reg_email = filtr($_POST['email']);
$reg_pas = encrypt(filtr($_POST['password']));
$sqlm = $mysql->query('INSERT INTO `'.PREFIX.'users` SET `login`="'.$reg_log.'", `password`="'.$reg_pas.'", `reg`='.time().', `last`='.time().', `email`="'.$reg_email.'"');
echo '<div class="success">Регистрация прошла успешно!</div>
<a class="touch" href="/?mod=user&act=login&login='.$_POST['login'].'&password='.$_POST['password'].'">Авторизоваться</a>
</div>';
require_once(ROOT.'/kernel/kernelfoot.php'); //Вывод ног
exit;
}
}
echo'<div class="text_form_all">';
//Вывод формы
echo '
<form action="/?mod=user&act=reg" method="POST" class="main">
Логин:<br />
<input name="login" type="text" class="text_form_input"/><br />
Пароль:<br />
<input name="password" type="password" class="text_form_input"/><br />
Пароль ещё раз:<br />
<input name="password2" type="password" class="text_form_input"/><br />
Email:<br>
<input type="text" name="email" class="text_form_input"/><br />
Проверочный код:<br />
'.captcha().'<br />
<input name="captcha" type="text" class="text_form_input"/><br />
<input type="submit" name="submit" value="Регистрация" class="text_form_submit"/>
</form>';
echo'</div>';
require_once(ROOT.'/kernel/kernelfoot.php'); //Вывод ног
?>