Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Уфимский государственный авиационный технический университет Кафедра информатики ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №3 по дисциплине: «Обработка информации в системах реального времени» на тему: «Основы клиент-серверных технологий. Работа с сессиями в PHP» Выполнил: студент гр. МС-502в Чувашова Ю.В. Проверил: канд.техн.наук, доцент Минасов Ш. М. Уфа 2011 ОГЛАВЛЕНИЕ Цель работы ................................................................................................................. 3 1.Ход выполнения работы .......................................................................................... 3 2.Индивидуальное задание ......................................................................................... 3 2.1.Постановка задачи............................................................................................. 3 2.2.Выполнение задания ......................................................................................... 3 Выводы ......................................................................................................................... 8 Список литературы ..................................................................................................... 9 2 ЦЕЛЬ РАБОТЫ Целью лабораторной работы является изучение способов отправки данных на сервер и их обработки с помощью PHP. 1. ХОД ВЫПОЛНЕНИЯ РАБОТЫ 1. В соответствии с методическими указаниями по лабораторной работе была произведена установка и настройка интерпретатора серверных сценариев PHP. 2. Выполнены и проанализированы примеры, приведенные в методических указаниях. 3. Выполнено индивидуальное задание для самостоятельной работы. 2. ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ 2.1. Постановка задачи Разработать экранный интерфейс, реализующий процедуру авторизации и дальнейшей верификации пользователей в системе каталога модной женской одежды и обуви с целью ограничения доступа к определенным ресурсам. 2.2. Выполнение задания На рис. 1 представлена экранная форма главной страницы index.htm. 3 Рисунок 1 - Экранная форма главной страницы index.htm Вид главной страницы после авторизации под правами администратора представлен на рис. 2 Рисунок 2 - Вид страницы admin.php после успешной авторизации Программный код главной страницы (файл «admin.php») <?php $admin_arr = file("admins.txt"); $user_arr = file("users.txt"); $prodavec_arr = file("prodavec.txt"); 4 if (!$admin_arr | !$user_arr | ! $prodavec_arr) { exit ("Одного из файлов с логинами и паролями пользователей не существует<br>"); } else if ((count($admin_arr)%2 != 0) | (count($user_arr)%2 != 0) | (count($prodavec_arr)%2 != 0)) { exit ("Количество логинов в одном из файлов не совпадает с количеством паролей<br>"); } else { SESSION_START(); for($i=0; $i < count($admin_arr)-1; $i+=2)//цикл по логинам в файле if (($_SESSION["login"] != trim($admin_arr[$i])) | ($_SESSION["pass"] != trim($admin_arr[$i+1]))) exit ("Пройдите <a HREF=\"index.htm\">авторизацию</a>"); } ?> <HTML> <HEAD> <TITLE>каталог женской одежды и обуви</TITLE> <META NAME="Author" CONTENT="Чувашова Ю.В."/> </HEAD> <BODY bgcolor=F0E68C background="../fon.jpg"> <H1 align="center"><font color="8A2BE2">Добро пожаловать в каталог женской одежды и обуви</font></H1> <table align="center"> <tr> <td><BR></td> </tr> </table> <table align="left"> <tr> <td align="left"><a </tr> <tr> <td align="left"><a </tr> <tr> <td align="left"><a </tr> <tr> <td align="left"><a HREF="../index.htm">Главная страница</a> HREF="../rezume.htm">Резюме</a> HREF="../foto.htm">Фотогалерея</a> HREF="../ot4et.htm">Отчеты по 5 лабораторным работам</a> </tr> </table> <table align="center"> <tr> <td><b><BR></td> </tr> </table> <table align="left"> <tr> <td> <button type="button" onClick='location.href="add.php"'><font color="8A2BE2">Новое поступление</font></button> </td> </tr> </table> <BR CLEAR=ALL> <form method="post" action="delete.php"> <table align="center" border=1 bordercolor="8A2BE2"> <tr> <td width="300" align="center"><b><font color="FAF0E6">Тип</font></b></td> <td width="300" align="center"><b><font color="FAF0E6">Бренд</font></b></td> <td width="300" align="center"><b><font color="FAF0E6">Цена</font></b></td> <td width="300" align="center"><b><font color="FAF0E6">Миниатюра</font></b></td> </tr> <?php include "data.inc"; for($i = 0; $i < count($type_arr); $i++) { echo "<tr>"; echo "<td width=\"300\" align=\"center\">".$type_arr[$i]."<br> <button type=\"submit\" name=\"".$i."\"><font color=\"006400\">Удалить</font></button> <button type=\"submit\" name=\"change".$i."\"><font color=\"006400\">Изменить</font></button> </td>"; echo "<td width=\"300\" align=\"center\">".$brend_arr[$i]."</td>"; echo "<td width=\"300\" align=\"center\">".$price_arr[$i]."</td>"; echo "<td width=\"300\" align=\"center\"><a HREF=\"foto_gallery/".$file_name_arr[$i]."\"><IMG 6 src=\"foto_gallery/preview/".$file_name_min_arr[$i]."\"/></a></td> "; echo "</tr>"; } ?> </table> </form> </BODY> </HTML> Система поддерживает 3 группы пользователей: администраторы (полный доступ), продавцы (добавление и изменение описания товара), и пользователи (просмотр и сортировка по нужному полю). Логины и пароли на вход хранятся в текстовых файлах на сервере: admins.txt Администраторы users.txt Пользователи prodavec.txt Продавцы Формат любого из этих файлов следующий: Логин1 Пароль1 Логин2 Пароль2 7 ВЫВОДЫ В результате выполнения лабораторной работы была решена поставленная в рамках работы задача: «экранный интерфейс, реализующий процедуру авторизации и дальнейшей верификации пользователей в системе». Для выполнения индивидуального задания были изучены способы передачи данных между страницами с помощью встроенных механизмов PHP. 8 СПИСОК ЛИТЕРАТУРЫ 1. Разработка распределенных интерактивных приложений на базе Интернет - технологий: Лабораторный практикум по дисциплине «Основы Интернет технологий» Часть 1 / Уфимск. гос. авиац. техн. ун-т; Сост. Ш.М. Минасов. – Уфа, 2007. – 15 с. 2. Скотт Хокинс. Администрирование Web-сервера Apache и руководство по электронной коммерции, – М.:Вильямс, 2001. – 336 с. 3. Гончаров А.С. Самоучитель HTML. – СПб.: Питер, 2002. – 240 с.: ил. 4. Петюшкин А.В. HTML. Экспресс-курс. – СПб.: БХВ-Петербург, 2003. – 256 с.: ил. 5. Разработка Web-приложений на РНР и MySQL: Пер. с англ./Лаура Томсон Люк Веллинг. – 2-е изд., испр. – СПб: ООО «ДиаСофтЮП», 2003. – 672 с. 9