View file modules/user/reg.php

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&amp;act=login&amp;login='.$_POST['login'].'&amp;password='.$_POST['password'].'">Авторизоваться</a>
</div>';
require_once(ROOT.'/kernel/kernelfoot.php'); //Вывод ног
exit;
}
}
 echo'<div class="text_form_all">';
//Вывод формы
echo '
<form action="/?mod=user&amp;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'); //Вывод ног
?>