Как сделать авторизацию?
Инструкция
Шаг 1: Создаем страницу для ввода логина и пароля. HTML-код формы авторизации в самом простом варианте может выглядеть так:
Логин:
Пароль:
Сюда же (в самое начало файла) добавим php-код, который будет проверять правильность введенного посетителем логина и пароля. В его начале напишем:session_start();Эта команда стартует новую сессию, если ее еще не создано для этого посетителя.Затем проверим, есть ли в сессии переменная с именем 'userName' - в ней будет храниться имя, если посетитель уже был авторизован. Если такая переменная есть - перенаправим посетителя на главную страницу (index.php) и закончим выполнение этого php-скрипта:if($_SESSION['userName']){
header("Location: index.php");
exit;
}Весь остальной код будет выполняться только если пользователь еще не ввел правильного логина и пароля. Укажем которые логин и пароль надо считать правильными:$validName = 'Я свой!';
$validPass = 'секретный пароль';Затем проверим - соответствуют ли отправленные из формы значения правильным. Поскольку в форме мы указали метод передачи данных POST, то и читать их следует из суперглобальной переменной $_POST:if($_POST['userName'] == $validName && $_POST['userPass'] == $validPass) {
$_SESSION['userName'] = $validName;
header("Location: index.php");
exit;
}Здесь код в фигурных скобках {} будет выполняться при правильных значениях логина и пароля. В строке $_SESSION['userName'] = $validName; ма записываем в сессию переменную с именем 'userName' содержащую логин теперь уже авторизованного пользователя. Это и будет метка о том, что доступ ему открыт повсюду до тех пор, пока действительна его текущая сессия.А на случай если в форму введены неправильные данные добавим соответствующее сообщение:else echo "
Логин или пароль неверны!
";Весь код, который надо сохранить в файл с именем login.php будет выглядеть так:session_start();if($_SESSION['userName']){
header("Location: index.php");
exit;
}$validName = 'Я свой!';
$validPass = 'секретный пароль';if($_POST['userName'] == $validName && $_POST['userPass'] == $validPass) {
$_SESSION['userName'] = $validName;
header("Location: index.php");
exit;
}
else echo "
Логин или пароль неверны!
";
?>
Логин:
Пароль:
header("Location: login.php");
exit;
}
Весь код, который надо сохранить в файл auth.php будет выглядеть так:session_start();if(!$_SESSION['admin']){
header("Location: enter.php");
exit;
}
?>
require "auth.php";
?>
А чтобы изменить пароль доступа нужно будет в файле login.php изменить значения этих переменных:
$validName = 'Я свой!';
$validPass = 'секретный пароль';
$validName - логин, $validPass - пароль.
Оцените статью!