Файл: login.php
Строк: 27
<?php
# подключаем файл ядра
require_once('core/core.php');
# выводи шапку
getHeader();
# проверяем в условии что кнопка submit была нажата
if (isset($_POST['submit'])) {
# подготавливаем данные из формы (фильтровать я их не буду, так как не буду их экранировать)
$login = $_POST['login'];
$password = $_POST['password'];
# ошибки изначально пусты
$error = null;
# подготавливаем запрос на проверку совпадения логина и пароля
# используем метод PDO::prepare для безопасности и удобства
$sql = $db->prepare("SELECT login, password FROM users WHERE login = :login");
# выполняем наш запрос
$sql->execute(array(':login' => $login));
# получаем ассоциативный массив
$check = $sql->fetch(PDO::FETCH_ASSOC);
# чекаем данные из формы
# проверяем введены ли данные из формы
if (empty($login) && empty($password)) $err .= 'Enter login and password!<br/>';
# проверяем совпадение логина и пароля
else if ($login !== $check['login'] && md5(md5($password)) !== $check['password']) $err .= 'Login and password do not match!<br/>';
# если есть ошибки выводим их
if ($err) { echo $err; } else {
# если нет ошибок производим авторизацию
# в данный момент я использую cookie, ну вы можете использовать сессии (если будет следующий урок, то мы рассмотрим такой вариант)
setcookie('logged', base64_encode($login.':'.md5(md5($password))), time() + 3600 * 24 * 365, '/');
header('Location: /');
exit;
}
}
# подгружаем форму
$file = ROOT.'/forms/login.html';
if(file_exists($file)) require_once $file;
else echo 'form login.html not found';
# выводим пол
getFooter();