Файл: modules/login/reg.php
Строк: 62
<?php
/*
* Автор - Александр Каплин(TheALex, Саня)
* Все права принадлежат CreaWap.Ru
* Время - 04.05.2015 г. 17:30
* Модуль регистрации на сайте
* Объявляем переменную заголовка страницы
*/
$title = 'Регистрация';
//Инклюдим шапку сайта
include_once($_SERVER["DOCUMENT_ROOT"].'/style/head.php');
ob_start();
?>
<div class="title">Регистрация</div>
<?
//Если пользователь зарегистрировался и его еперкинуло на страницу ?ok
if(isset($_GET['ok'])){
?>
<div class="success">
Вы успешно зарегистрировались!<br/>
<a href="/" class="link">Перейти на сайт</a>
</div>
<?
//Инклюдим ноги
include_once($_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
//Прекращаем выполнение скрипта
exit();
}
mode('guest');
//Если нажата кнопка Зарегистрироваться
if(isset($_POST['ok'])){
//Фильтруем полученные данные
$_POST['nick']=guard($db->real_escape_string($_POST['nick']));
$_POST['name']=guard($db->real_escape_string($_POST['name']));
$_POST['email']=guard($db->real_escape_string($_POST['email']));
/*
* Далее идет проверка на ошибки, если есть ошибка, то текст ошибки заносится в переменную error
* Список ошибок(по порядку):
* Если не введен ник
* Если длинна введеного ника менее 2 символов
* Если пароль не введен
* Если подтверждение пароля не введено
* Если не введено имя
* Если имя содержит в себе менее двух символов
* Если не введен E-Mail
* Если E-Mail содержит в себе менее пяти символов
* Если пароли не совпадают
* Если неверно введен E-Mail
* Если пользователь с введенным E-Mail уже существует
* Если пользователь с введенным ником уже существует
*/
if(empty($_POST['nick'])){
$error = 'Введите ник!';
}elseif(mb_strlen($_POST['nick']) < 2){
$error = 'Ник должен содержать не менее двух символов!';
}elseif(empty($_POST['password1'])){
$error = 'Введите пароль!';
}elseif(empty($_POST['password2'])){
$error = 'Введите подтверждение пароля!';
}elseif(empty($_POST['name'])){
$error = 'Введите имя!';
}elseif(mb_strlen($_POST['name']) < 2){
$error = 'Имя должно содержать в себе хотя бы 2 символа!';
}elseif(empty($_POST['email'])){
$error = 'Введите E-Mail!';
}elseif(mb_strlen($_POST['email']) < 5){
$error = 'E-Mail должен содержать как минимум 5 символов!';
}elseif($_POST['password1'] != $_POST['password2']){
$error = 'Пароли не совпадают!';
}elseif(!preg_match('/[0-9a-z_-]+@[0-9a-z_-^.]+.[a-z]{2,6}/i', $_POST['email'])){
$error = 'Неверно введен E-Mail';
}elseif($db->query("SELECT * FROM `users` WHERE `email`='".$_POST['email']."'")->num_rows != 0){
$error = 'Пользователь с таким E-Mail уже существует!';
}elseif($db->query("SELECT * FROM `users` WHERE `nick`='".$_POST['nick']."'")->num_rows != 0){
$error = 'Пользователь с таким ником уже существует!';
}elseif(mb_strlen($_POST['nick'])>40){
$error = 'Длинна ника должна быть менее 40 символов!';
}
//Если существует переменная с ошибкой, то выводим ошибку
if(isset($error)){
?>
<div class="error"><?=$error?></div>
<?
}else{//Или добавляем пользователя в бд и создаем куки и перенаправляем на главную
$tocken = md5(time()."zona".rand(1, 9));
$db->query("INSERT INTO `users` SET `nick`='".$_POST['nick']."', `password`='".md5($_POST['password1'])."', `name`='".$_POST['name']."', `email`='".$_POST['email']."', `date_reg`='".time()."', `sex`='".$_POST['sex']."', `tocken`='".$tocken."'");
/*setcookie("nick", $_POST['nick'], time()+86000*31*12);
setcookie("password", md5($_POST['password1']), time()+86000*31*12);*/
setcookie("tocken", $tocken, time()+86000*31*12);
header('location:?ok');
}
}
?>
<div class="text">
<form action="" method="POST">
Придумайте ник:<br/>
<input type="text" name="nick"><br/>
Придумайте пароль:<br/>
<input type="password" name="password1"><br/>
Повторите пароль:<br/>
<input type="password" name="password2"><br/>
Введите имя:<br/>
<input type="text" name="name"><br/>
Ваш пол:<br/>
<select name="sex">
<option value="1">Мужской</option>
<option value="2">Женский</option>
</select><br/>
Введите ваш E-Mail:<br/>
<input type="text" name="email"><br/>
<input type="submit" name="ok" value="Зарегистрироваться">
</form>
</div>
<?
//Инклюдим ноги сайта
include_once($_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
?>