Файл: reg/control/index.php
Строк: 18
<?php
if (isset($_POST['captcha'])) {
$errorCaptcha = false;
#принимаем и обрабатываем каптчу
$captcha = trim(strtolower($_POST['captcha']));
#если каптча введена неверно, добавляем ошибку
if ($captcha != $_SESSION['captcha']) $errorCaptcha = true;
#если каптча введена верно
if (!$errorCaptcha) {
#очищаем данные
foreach($_POST as $key=>$value){
$_POST[$key] = XSS($value);
}
#проверяем и записываем данные
$login = (is_string($_POST['login'])) ? $_POST['login'] : false;
$pas1 = (!empty($_POST['pas1'])) ? $_POST['pas1'] : false;
$pas2 = (!empty($_POST['pas2'])) ? $_POST['pas2'] : false;
$email = (preg_match("|^[-0-9a-z_.]+@[-0-9a-z_^.]+.[a-z]{2,6}$|i", $_POST['email'])) ? $_POST['email'] : false;
#проверяем все ли данные введены корректно
if ($login && $pas1 && $pas2 && $email) {
#если пароли совпадают
if ($pas1 == $pas2) {
#обнуляем ошибки
$error = false;
#проверяем не зарегистрирован ли пользователь с таким логином
$query = $db -> query("SELECT * FROM users WHERE login = ?s ", $login);
$loginInBase = $db -> numRows($query);
#если пользователь с таким логином есть, выводим ошибку
if ($loginInBase) {
errors('Пользователь с таким логином уже зарегистрирован!');
$error = true;
}
#проверяем не зарегистрирован ли пользователь с таким email
if (!CheckEmail($email)) {
errors('Пользователь с таким Email уже зарегистрирован!');
$error = true;
}
#если не возникло никаких ошибок
if (!$error) {
#запоминаем пароль
$password = md5(sha1(md5($pas1)));
#добавляем пользователя в БД
$query = $db -> query("INSERT INTO users (login, password, email) VALUES (?s, ?s, ?s)", $login, $password, $email);
#если пользователь добавлен в базу
if ($query) {
show('Успешная регистрация! Теперь вы можете авторизоваться в системе.');
$_SESSION['login'] = '';
$_SESSION['email'] = '';
}
else
{
#если не удалось записать пользователя в БД, выдаем ошибку
errors('Ошибка записи пользователя в БД.');
}
#если возникали ошибка, выводи соответствующее сообщение
} else errors('Ошибка регистрации. Повторите снова.');
#если пароли не совпали, выдаем ошибку
} else errors('Пароли не совпадают!');
#если какие-либо данные не заполнены, или введены не корректно, выдаем ошибку
} else errors('Заполните корректно все поля!');
} else {
#выводим сообщение о том, что каптча введена неверно
echo errors('Каптча введена неверно!');
#запомним данные, которые вводил пользователь
$_SESSION['login'] = XSS($_POST['login']);
$_SESSION['email'] = XSS($_POST['email']);
}
}