View file portfolio/modules/user/registration.php

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');

?>