Задание 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браузере. Содержание