<?php session_start(); require __DIR__ . '/functions.php'; function login($login) { setcookie('auth', $login, time() + 86400); } /* * ---- */ if (empty($_POST['login']) || empty($_POST['password'])) { $_SESSION['error'] = 'Пустой логин или пароль!'; header('Location: form.php'); exit; } $login = $_POST['login']; $password = $_POST['password']; if (!checkLoginPassword($login, $password)) { $_SESSION['error'] = 'Неверный логин или пароль'; header('Location: form.php'); exit; } login($login); header('Location: index.php'); exit;
function checkAuthData() { // Если пользователь не ввел пароль, возвращаем на страницу авторизации с оповещение об ошибке if (isset($_POST['login']) && empty($_POST['password'])) { header('Location:/?action=authentication&message=errorWrongUserData'); exit; } elseif (isset($_POST['login']) && isset($_POST['password'])) { // Если в поле логина введены неразрешенные символы (все кроме латиницы и цифр со знаком подчеркивания), переходим на страницу авторизации с оповещение об ошибке if (!preg_match("/^[a-z0-9_]+\$/i", $_POST['login'])) { header('Location:/?action=authentication&message=errorWrongSymbols'); exit; } // Проверяем логин и пароль checkLoginPassword($_POST['login'], $_POST['password']); } else { // Если пользователя занесло на страницу по прямой ссылке (т.е. не со страницы авторизации с заполнеными логином и паролем), переводим на страницу авторизации header('Location:/?action=authentication'); exit; } }
<?php $login = $_POST['login']; $password = $_POST['password']; require_once __DIR__ . '/functions.php'; if (empty($_POST['login'] || empty($_POST['password'])) || !checkLoginPassword($login, $password)) { header('Location: /sessions/form.html'); exit; } /*if (!checkLoginPassword($login, $password)) { header('Location: /sessions/form.html'); exit; }*/ login($login); header('Location: /sessions/index.php'); exit;
<?php session_start(); // Создаем переменную для корневого каталога и подключаем файл с функциями $docRoot = $_SERVER['DOCUMENT_ROOT']; require_once $docRoot . '/functions.php'; // Если пользователь не ввел пароль, возвращаем на страницу авторизации с оповещение об ошибке if (isset($_POST['login']) && empty($_POST['password'])) { header('Location:/auth.php?action=errorWrongUserData'); exit; } elseif (isset($_POST['login']) && isset($_POST['password'])) { // Если в поле логина введены неразрешенные символы (все кроме латиницы и цифр), переходим на страницу авторизации с оповещение об ошибке if (!preg_match("/^[a-z0-9_]+\$/i", $_POST['login'])) { header('Location:/auth.php?action=errorWrongSymbols'); exit; } // Проверяем логин и пароль checkLoginPassword($_POST['login'], $_POST['password']); } else { // Если пользователя занесло на страницу по прямой ссылке (т.е. не со страницы авторизации с заполнеными логином и паролем), переводим на страницу авторизации header('Location:/auth.php'); exit; }