Вход Регистрация
Файл: registration.php
Строк: 31
<?php
    
    
# подключаем файл ядра
    
require_once('core/core.php');
    
    
# выводи шапку
    
getHeader();
    
    
# проверяем в условии что кнопка submit была нажата
    
if (isset($_POST['submit'])) {
        
        
# подготавливаем данные из формы (фильтровать я их не буду, так как не буду их экранировать)
        
$login $_POST['login'];
        
$password $_POST['password'];
        
        
# ошибки изначально пусты
        
$err null;
        
        
# подготавливаем запрос на проверку занятости логина
        
        # используем метод PDO::prepare для безопасности и удобства
        
$sql $db->prepare("SELECT COUNT(*) FROM users WHERE login = :login");
        
# выполняем наш запрос
        
$sql->execute(array(':login' => $login));
        
# получаем колличество результирующих строк
        
$check_login $sql->fetchColumn();
        
        
# чекаем данные из формы
        
        # проверяем логин на зянятость, и если он занят подготавливаем текст
        
if($check_login >= 1$err .= 'This login is already registered!<br/>';
        
# проверяем логин на символы, в данном случае разрешены только англ.алфавит и цифры
        
else if(!preg_match("/[ˆa-zA-Z0-9]/"$login))  $err .= 'Incorrect login!<br/>';
        
# проверяем форму на пустоту логина и пароля
        
elseif (empty($login)) $err .= 'Enter your login!<br/>';
        if (empty(
$password)) $err .= 'Enter your password!<br/>';
        
        
# если есть ошибки выводим их
        
if ($err) { echo $err; } else {
        
# если нет ошибок производим регистрацию
        
$db->prepare("INSERT INTO users(login, password) VALUES (:login, :password)")
        ->
execute(array(':login' => $login':password' => md5(md5($password))));
        
# отправляем на форму авторизации
        
header('Location: /login.php');
        exit;
        } 
    }
    
    
# подгружаем форму
    
$file ROOT.'/forms/signup.html';
    if(
file_exists($file)) require_once $file;
    else echo 
'form signup.html not found';
    
    
# выводим пол
    
getFooter();
Онлайн: 1
Реклама