Задание 7-2. Создание системы авторизации пользователя

advertisement
Задание 7-2. Создание системы авторизации пользователя.
Чтобы показать переадресацию, создадим простой сценарий, который будет направлять пользователя
при аутентификации на одну страницу, если были введены правильные имя и пароль, и на другую - в
противном случае.
1. Создайте новый PHP-документ в текстовом редакторе:
<?php
2. Присвойте странице название и включите файл заголовка.
$PageTitle="Страница авторизации";
require ("header.php");
3. Создайте условную инструкцию, которая напечатает сообщение, если при аутентификации
пользователь допустил ошибки.
if ($Message == "Invalid") {
echo "<BxCENTER><FONT COLOR=RED>Неправильные Логин и Пароль</FONT></CENTER></B>\n";
Если переданные имя и пароль не соответствуют хранящимся в файле, пользователь будет отправлен
обратно к этой странице со значением переменной $Message, равным Invalid. Появится сообщение об
ошибке.
4. Создайте HTML-форму для ввода имени пользователя и пароля.
echo "<FORM ACTION=\"HandleLogin.php\" METHOD=POST>\n";
echo "Логин: <INPUT TYPE=TEXT NAME=UserName><BR>\n";
echo "Пароль: <INPUT TYPE=PASSWORD NAME=Password><BR>\n";
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=\"Отправить!\">\n";
5. Включите файл нижнего колонтитула и закройте РНР-страницу.
require ("footer.php");
?>
6. Сохраните сценарий как login.php.
Теперь необходимо создать страницу, где будут проверяться введенные имя и пароль пользователя.
7. Создайте новый PHP-документ в текстовом редакторе:
<?php
8. Создайте условную конструкцию, которая будет проверять соответствие значений переменных
$UserName и $Password.
if (($UserName == "Larry") && ($Password == "LarryPass")) {
Эта условная инструкция проверяет, соответствуют ли имя пользователя и пароль хранящимся в
файле. Вы можете написать сценарий, котррый будет находить в базе, пароль по имени пользователя.
Обычно в целях безопасности эти значения явно не прописываются в сценарии, а извлекаются из базы
данных или текстового файла. Однако в нашем примере мы проверяем эти значения прямо в сценарии.
9. Если введенные данные правильны, направим пользователя на главную страницу.
header ("Location: index.php?UserName=$UserName");
exit;
Это выражение переправит пользователя на ресурс index.php. Туда также будет отправлено значение
имени пользователя. Инструкция exit; «говорит» РНР прекратить выполнение кода этой страницы, так
как пользователь уже отправлен на другую.
10. Закончим условную конструкцию и направим пользователя обратно на страницу .аутентификации в
случае неверного пароля.
} else {
header ("Location: login.php?Message=Invalid");
exit;
}
Если переданные значения не соответствуют хранящимся в файле, пользователю будет предоставлена
еще одна возможность зарегистрироваться. Он будет отправлен на страницу login.php. Код
?Message=Invalid, добавленный
к URL, заставит сценарий login.php напечатать сообщение об ошибке.
11. Закройте РНР-страницу.
?>
12. Сохраните сценарий как HandleLogin.php.
13. Откройте файл index.php (он был получен при выполнении прошлого задания) в текстовом
редакторе.
14. Сразу после строки require ("header.php") напишите:
echo "Здравствуйте, $UserName!\n";
15. Сохраните сценарий как index.php и протестируйте все страницы начиная с login.php в Webбраузере.
Содержание
Download