[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Укажите на ошибки и недочеты
SergeyZuzic
<?
/*--МОДУЛЬ РЕГИСТРАЦИИ--*/
switch($ENGINE['GET_PAGE']) {
case 'reg':
/*------------------------------------------------
--------------- МОДУЛЬ РЕГИСТРАЦИИ ---------------
------------------------------------------------*/

session_start(); $mes_err_reg = ''; $reg_ok=0; //Старт сессии + ошибок не было + регистрация не начата!
if ($ENGINE['ACCESS']==0) {
if (isset($_POST['submitreg'])){
//-------------- Получение данных из формы НАЧАЛО -------------
$login = $_POST['login']; //Получаем логин
$password_1 = $_POST['pass1']; //Получаем пароль
$password_2 = $_POST['pass2']; //Получаем подтверждение пароля
$mail=$_POST['mail']; //Получаем эл. почту
$code=$_POST['getCode']; //Получаем код с картинки
//-------------- Получение данных из формы КОНЕЦ --------------

$valid_login=$ENGINE['DB']->query("SELECT * FROM `users` WHERE `login`='{$login}'"); //Валидация
$valid_mail=$ENGINE['DB']->query("SELECT * FROM `users` WHERE `mail`='{$mail}'"); //логина и почты
if(empty($login)){
$mes_err_reg='Вы не ввели логин';}
elseif (!preg_match('/^.{2,11}$/u', $login)) {
$mes_err_reg='Логин должен содержать от 2 до 11 символов';}
elseif (!preg_match('/^[a-zA-Z0-9]+$/u', $login)) {
$mes_err_reg='Разрешены только буквы латинского алфавита и цифры';}
elseif ($ENGINE['DB']->num_rows($valid_login)>0) {
$mes_err_reg='Такой логин уже существует';}
elseif(empty($password_1)){
$mes_err_reg='Вы не ввели пароль';}
elseif (!preg_match('/^.{6,10}$/u', $password_1)) {
$mes_err_reg='Пароль должен содержать от 6 до 10 символов';}
elseif (!preg_match('/^[a-zA-Z0-9]+$/u', $password_1)) {
$mes_err_reg='Пароль должен состоять из символов латинского алфавита и цифр';}
elseif(empty($password_2)){
$mes_err_reg='Вы не подтвердили пароль';}
elseif($password_1!=$password_2){
$mes_err_reg='Введенные пароли не совпадают';}
elseif(empty($mail)){
$mes_err_reg='Вы не ввели E-mail';}
elseif (!preg_match('/^[a-zA-Z0-9_\.\-]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,6}$/u', $mail)) {
$mes_err_reg='Email некорректен';}
elseif ($ENGINE['DB']->num_rows($valid_mail)>0) {
$mes_err_reg='Пользователь с таким E-mail существует';}
elseif($code!=$_SESSION['code']){ //CAPTCHA
$mes_err_reg='Код с картинки неверен';}
else {
$md5_password_1=md5($password_1);
if(!isset($ENGINE['REG_SQL_CELL'])) $ENGINE['REG_SQL_CELL']=''; //Дополнение ячеек запроса
if(!isset($ENGINE['REG_SQL_VALUE'])) $ENGINE['REG_SQL_VALUE']=''; //Дополнение значений в ячейках
$ENGINE['DB']->query("INSERT INTO `users`(`login`, `password`, `md5_password`, `mail`, `reg_ip`, `reg_date` {$ENGINE['REG_SQL_CELL']})
VALUES ('
{$login}', '{$password_1}', '{$md5_password_1}', '{$mail}', '{$ENGINE['IP']}', '{$ENGINE['TIME']}' {$ENGINE['REG_SQL_VALUE']})");
if (function_exists('Set_Statistics')) Set_Statistics('users'); //Если подключен модуль статистики, то обновить требуемые данные
$ENGINE['CORE']->GetTemplate('reg_ok'); $reg_ok=1; //Успех регистрации
}
}
}
else { //Если авторизация прошла успешно, то следует вывести сообщение
$ENGINE['CORE']->GetTemplate('already');
}
//Обнуление данных
if (!isset($mail) && !isset($password_1) && !isset($password_2)) { $mail=''; $password_1=''; $password_2=''; }
//Регистрация не начата или не прошла!
if($reg_ok==0) {
$ENGINE['P_TAG']=array(
'login'=>$login,
'mail'=>$mail,
'pass1'=>$password_1,
'pass2'=>$password_2,
'mes_err_reg'=>$mes_err_reg
);
$ENGINE['CORE']->GetTemplate('reg');
}
break;

Надо отшлифовать скрипт
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.