Федеральное агентство по образованию ГОУ ВПО Уфимский государственный авиационный технический университет Кафедра информатики ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №5 по дисциплине: «Компьютерные технологии в науке и производстве» на тему: «Создание многопользовательского приложения, реализующего работу интернет-авиакассы» Выполнил: магистрант гр.Т-15 Пятков П.А. «13» декабря 2010 г. Проверил: канд.техн.наук, доцент Минасов Ш.М. « » 20 10 г. Оценка « » Уфа – 2010 ОГЛАВЛЕНИЕ 1.Цель работы .............................................................................................................. 3 2.Ход выполнения работы .......................................................................................... 3 3.Индивидуальное задание ......................................................................................... 3 3.1.Постановка задачи............................................................................................. 3 3.1.Алгоритм выполнения задачи .......................................................................... 4 3.2.Фрагменты программного кода ....................................................................... 4 Экранные формы реализованного проекта ........................................................ 39 Выводы ....................................................................................................................... 47 Список литературы ................................................................................................... 48 2 1. ЦЕЛЬ РАБОТЫ Целью настоящей работы является изучение принципов создания многопользовательских интернет приложений. 2. ХОД ВЫПОЛНЕНИЯ РАБОТЫ 1. В соответствии с методическими указаниями по лабораторной работе [Error! Reference source not found.] были изучены принципы построения запросов к базе данных. 2. Выполнены и проанализированы примеры, приведенные в методических указаниях [Error! Reference source not found.]. 3. Выполнено индивидуальное задание для самостоятельной работы. 3. ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ 3.1. Постановка задачи Необходимо создать приложение, осуществляющее ввод, редактирование, удаление информации из таблиц базы данных, осуществлять вывод отчетов по требуемым параметрам, осуществлять выборку данных в соответствии с условиями, задаваемыми пользователями. Предусмотреть варианты работы в режиме администратора, оператора, клиента, управляющего. Режим администратора должен обеспечивать управление пользователями и их правами в системе. Интерфейс оператора должен обеспечить возможность вносить изменения в расписание самолетов. Интерфейс клиента должен реализовать механизм «покупательской тележки», позволяющий формировать заказы. Интерфейс управляющего должен реализовывать соответствующую обработку заказов. Предоставление интерфейса должно осуществляться в соответствии с правами пользователя на основе анализа его входного имени. Работа системы без регистрации (авторизации) пользователя должна осуществляться только в предоставлении открытой (рекламной) информации. Заказ продукции или услуг 3 должен быть предоставлен исключительно зарегистрированным пользователям системы. 3.1. Алгоритм выполнения задачи Первой страницей приложения является форма для ввода логина и пароля. Далее данные с формы отправляются скрипту avtoriz.php, который, в зависимости от имени и прав доступа пользователя, направляет его на нужную страницу. На странице form_user.php пользователь может выбрать параметры рейса. Далее они отправляются в файл user.php, где пользователь выбирает нужный ему рейс и отправляет данные в корзину. В корзине пользователь может посмотреть список своих заказов и удалить ненужные. Код, необходимый для добавления заказа, находится в файле add.php. На странице manager.php управляющий может выбрать пользователя и просмотреть список его заказов. После выполнения заказа управляющий имеет возможность удалить заказ из корзины пользователя. Код, необходимый для удаления заказов, находится в файле manager_del.php. На странице oper_db.php оператор базы данных может удалять и добавлять данные в таблицы с расписанием и типом самолетов. На странице admin_user.php администратор может производить операции с пользователями: добавлять пользователей, назначать права доступа и удалять пользователей. 3.2. Фрагменты программного кода Файл index.htm: <html lang="ru"> <head> <title>Лабораторная работа №5</title> <style type="text/css"> body, html { 4 margin:0; padding:0; background:#FFF; color:#000; } #wrap { margin-top: 20; margin-left: 15%; text-align: justify; width:800px; } </style> </head> <body> <div id="wrap"> <style type="text/css"> <!-body { background-color: #FEF7C0; } --> </style> <h4 align='left'>Добро пожаловать в систему интернетрасписание!<br>Для просмотра расписания необходимо пройти авторизацию.</h4> <hr> <form action="script/avtoriz.php" method="post"> <p>Входное имя <input type=text name=login> Пароль <input type=password name=password> <p><input type=submit value="Подтвердить"> <p><A HREF="../index.htm">Вернуться на главную страницу</A> </form> </div> </body> </html> Файл avtoriz.php: <?php SESSION_START(); $_SESSION['login']=$_POST['login']; $_SESSION['password']=$_POST['password']; 5 //------------------------------------------------------if (!mysql_connect("localhost", "root", "")) { echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit; } // Выбираем базу данных: mysql_select_db("mag2010-4363"); $q = mysql_query("SELECT `login`.`id`,`login`.`login`,`login`.`pass`, `type_user`.`type_user` FROM `login`,`type_user` WHERE `login`.`id_type` =`type_user`.`id` AND `login`.`login`='$_SESSION[login]' AND `login`.`pass`='$_SESSION[password]'"); if(mysql_num_rows($q)==0){ echo"Неверные регистрационные данные. "; echo"<A HREF='../index.htm'>Вернуться на страницу регистрации</A>"; } else{ $m=mysql_fetch_row($q); if($m[3]=="Администратор учетных записей"){ echo"<A HREF='admin_user.php'>Продолжить работу с учетной записью Администратор и именем $_SESSION[login] </A>"; echo"<br><A HREF='../index.htm'>Вернуться на страницу регистрации</A>";} if($m[3]=="Оператор БД"){ echo"<A HREF='oper_db.php'>Продолжить работу с учетной записью Оператор БД и именем $_SESSION[login]</A>"; echo"<br><A HREF='../index.htm'>Вернуться на страницу регистрации</A>";} if($m[3]=="Менеджер"){ echo"<A HREF='manager.php'>Продолжить работу с записью Менеджер и именем $_SESSION[login]</A>"; 6 echo"<br><A HREF='../index.htm'>Вернуться на страницу регистрации</A>";} if($m[3]=="Пользователь"){ echo"<A HREF='form_user.php'>Продолжить работу с учетной записью Пользователь и именем $_SESSION[login] </A>"; echo"<br><A HREF='../index.htm'>Вернуться на страницу регистрации</A>";} $_SESSION['id']=$m[0]; } ?> Файл form_user.php: <?php SESSION_START(); If(!array_key_exists("login",$_SESSION)) die ('Пройдите <a href="index.htm"> авторизацию </a> '); //if ($_SESSION['login']!="user" OR $_SESSION['password']!="") //die ('Пройдите <a href="../index.htm">авторизацию</a>'); echo '<h3>Авиакомпания "4363" приветствует Вас!</h3>'; echo"<p><form method='POST' action='user.php' align='left'>"; if (!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); $result = mysql_query("SELECT * FROM `airport_arr`"); $kolstr=mysql_num_rows($result); echo"<hr>"; echo"&nbsp Выберите пункт вылета:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp"; echo("<select name='sel_arr' size=1>"); $i=0; while ($i<$kolstr){ 7 $var=mysql_fetch_array($result); echo("<option value=$var[id]>".$var[airport_arr]."</option>"); $i++;} echo"</select><br>"; echo"<p><form method='POST' action='user.php' align='left'>"; if (!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); $result = mysql_query("SELECT * FROM `airport_dep`"); $kolstr=mysql_num_rows($result); echo"&nbsp Выберите пункт прибытия:&nbsp"; echo("<select name='sel_dep' size=1>"); $i=0; while ($i<$kolstr){ $var=mysql_fetch_array($result); echo("<option value=$var[id]>".$var[airport_dep]."</option>"); $i++;} echo"</select><br>"; echo ' <style type="text/css"> <!-body { background-color: #FEF7C0; } --> </style><hr> &nbsp&nbspВыберите день недели:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp <form action="user.php" method=POST> <select <option <option <option name="day" size="1"> value="1">Понедельник</option> value="2">Вторник</option> value="3">Среда</option> 8 <option <option <option <option <option value="4">Четверг</option> value="5">Пятница</option> value="6">Суббота</option> value="7">Воскресенье</option> value="15" >Все дни</option> </select><p> &nbsp&nbspВыберите время вылета:<br> <input type=radio name="vzlet" value="0"> Все рейсы с 00.00 до 08.00<br> <input type=radio name="vzlet" value="8"> Все рейсы с 08.00 до 16.00<br> <input type=radio name="vzlet" value="16"> Все рейсы с 16.00 до 24.00<br> <input type=radio name="vzlet" value="150" CHECKED> Расписание на весь день<br> <input type=submit value="Отправить"> <input type=reset value="Отменить"> </form>'; echo"<p><A HREF='../index.htm'>Вернуться на страницу регистрации</A><hr>"; ?> Файл user.php: <?php //подключение к БД error_reporting(E_ALL); $host = "localhost"; $user = "mag2010"; $password = "sqrt"; $db="mag2010-4363"; if (!mysql_connect($host, $user, $password)){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} //Проверка авторизации SESSION_START(); if(!array_key_exists("login",$_SESSION)) 9 die('Пройдите <a href="../index.htm">авторизацию</a>'); //Проверка подключения к БД if (!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} //Получение данных с формы form_user.php $vzlet=$_REQUEST["vzlet"]; $day=$_REQUEST["day"]; $sel_dep=$_REQUEST["sel_dep"]; $sel_arr=$_REQUEST["sel_arr"]; echo '<h3>Авиакомпания "4363" приветствует Вас!</h3>'; echo ' <style type="text/css"> <!-body { background-color: #FEF7C0; } --> </style> '; //вывод данных на экран echo " <table border='1' cellpadding='4' align='center'> <tr> <th>ID</th> <th>День недели</th><th>Номер борта</th><th>Пункт отправления</th> <th>Пункт прибытия</th> <th>Время вылета</th> <th>Время прилета</th><th>Стоимость, руб.</th><th>Купить билет</th> </tr>"; mysql_select_db("mag2010-4363"); switch($_REQUEST['vzlet']) { case 0: if($day==15) { $query = mysql_query("SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` 10 FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id` AND `airport`.`airport_arr_id` LIKE $sel_arr AND `airport`.`airport_dep_id` LIKE $sel_dep AND `departure` > '00:00:00' AND `departure` < '08:00:00' "); } else { $query = mysql_query("SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id` AND `airport`.`airport_arr_id` LIKE $sel_arr AND `airport`.`airport_dep_id` LIKE $sel_dep AND `day`.`id` LIKE $day AND `departure` > '00:00:00' AND `departure` < '08:00:00' "); } echo "<h4>Время вылета приведено с 00:00:00 до 08:00:00.</h4>"; break; case 8: if($day==15) { $query = mysql_query("SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` 11 AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id` AND `airport`.`airport_arr_id` LIKE $sel_arr AND `airport`.`airport_dep_id` LIKE $sel_dep AND `departure` > '08:00:00' AND `departure` < '16:00:00' "); } else { $query = mysql_query("SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id` AND `airport`.`airport_arr_id` LIKE $sel_arr AND `airport`.`airport_dep_id` LIKE $sel_dep AND `day`.`id` LIKE $day AND `departure` > '08:00:00' AND `departure` < '16:00:00' "); } echo "<h4>Время вылета приведено с 08:00:00 до 16:00:00.</h4>" ;break; case 16: if($day==15) { $query = mysql_query("SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id` AND `airport`.`airport_arr_id` LIKE $sel_arr 12 AND `airport`.`airport_dep_id` AND `departure` > '16:00:00' AND `departure` < '24:00:00' "); } LIKE $sel_dep else { $query = mysql_query("SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id` AND `airport`.`airport_arr_id` LIKE $sel_arr AND `airport`.`airport_dep_id` LIKE $sel_dep AND `day`.`id` LIKE $day AND `departure` > '16:00:00' AND `departure` < '24:00:00' "); } echo "<h4>Время вылета приведено с 16:00:00 до 24:00:00.</h4>"; break; case 150: if($day==15) { $query = mysql_query("SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id` AND `airport`.`airport_arr_id` LIKE $sel_arr AND `airport`.`airport_dep_id` LIKE $sel_dep AND `departure` > '00:00:00' 13 AND `departure` < '23:59:59' "); } else { $query = mysql_query("SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id` AND `airport`.`airport_arr_id` LIKE $sel_arr AND `airport`.`airport_dep_id` LIKE $sel_dep AND `day`.`id` LIKE $day AND `departure` > '00:00:00' AND `departure` < '23:59:59' "); } echo "<h4> Расписание приведено на весь день.</h4>"; break; }; while ($array = mysql_fetch_array($query)) { $x=$array['id']; echo ' <tr> <td>'.$x.'</td> <td>'.$array['day_id'].'</td> <td>'.$array['bort_id'].'</td> <td>'.$array['airport_dep'].'</td> <td>'.$array['airport_arr'].'</td> <td>'.$array['departure'].'</td> <td>'.$array['arrival'].'</td> <td>'.$array['cost'].'</td> <td> <form action="buy.php" method=POST> <p align="center"><input type=radio name="buy" value='.$x.'> </td> 14 </tr> '; } echo '</table>'; echo '<input type=submit value="Отправить"> <hr> </form>'; echo '<br><a href="form_user.php"> Вернуться к расписанию</a><br> '; echo"<p><A HREF='buy.php'>Перейти в корзину</A>"; echo"<hr>"; //-------------------------------------------------------------------------------------------------------?> Файл buy.php: <?php //подключение к БД $host = "localhost"; $user = "mag2010"; $password = "sqrt"; $db="mag2010-4363"; if (!mysql_connect($host, $user, $password)){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} //Проверка авторизации SESSION_START(); if(!array_key_exists("login",$_SESSION)) die('Пройдите <a href="../index.htm">авторизацию</a>'); echo '<h3>Авиакомпания "4363" приветствует Вас!</h3>'; echo ' <style type="text/css"> <!-body { 15 background-color: #FEF7C0; } --> </style> '; //Добавляем запись о покупке в корзину $buy=$_REQUEST["buy"]; echo"<h4 align='left'>Вы зашли как пользователь $_SESSION[login]</h4> <hr> "; echo"Выберите действие:"; echo"<br><form method='POST' action='add.php'>"; echo"<input type='radio' name='act_buy' value='$buy' CHECKED>Добавить в корзину билет на рейс с выбранным номером ( $buy )<br>"; echo"<input type='submit' value='OK'> </form>"; echo"<hr>"; echo"<br><form method='POST' action='buy.php'>"; echo"<input type='radio' name=act_buy value='del_buy'>Удалить билет из корзины<br>"; echo"<input type='submit' value='OK'>"; echo"<hr> </form>"; if(isset($_POST['act_buy'])){ if ($_POST['act_buy']=='del_buy'){ echo"<p><form method='POST' action='buy.php'>"; echo"<p>Введите ID рейса, который необходимо удалить:<br><input type='text' name='buy_rem_day'><br>"; echo"<input type='submit' value='Удалить'>"; echo"</form>"; echo"<hr>"; } } //код для удаления строки if(isset($_POST['buy_rem_day'])){ if(!mysql_connect("localhost","mag2010","sqrt")){ 16 echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); mysql_query("DELETE FROM `buy` WHERE `idb`='$_POST[buy_rem_day]'"); } //----------------------------------------Вывод таблицы пользователя-------------------------------------------------------echo "<th>"; echo "<h4 align='left'>Корзина пользователя $_SESSION[login]:</h4>"; echo "<table border='1' cellpadding='4' align='center'> <tr> <th>ID</th> <th>День недели</th><th>Номер борта</th><th>Пункт отправления</th> <th>Пункт прибытия</th> <th>Время вылета</th> <th>Время прилета</th><th>Стоимость, руб.</th> </tr>"; mysql_select_db("mag2010-4363"); $query = mysql_query("SELECT `buy`.`idb` , `buy`.`buy_id` , `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr`, `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `buy`, `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id` AND `airport`.`id` = `buy`.`buy_id` AND `buy`.`user_id` =$_SESSION[id] LIMIT 0 , 30"); while ($array = mysql_fetch_array($query)) { echo ' <tr> <td>'.$array['idb'].'</td> 17 <td>'.$array['day_id'].'</td> <td>'.$array['bort_id'].'</td> <td>'.$array['airport_dep'].'</td> <td>'.$array['airport_arr'].'</td> <td>'.$array['departure'].'</td> <td>'.$array['arrival'].'</td> <td>'.$array['cost'].'</td> </tr> '; } echo '</table>'; echo"<p><A HREF='form_user.php'>Вернуться к расписанию</A>"; echo"<hr>"; ?> Файл add.php: <?php session_start(); $host = "localhost"; $user = "root"; $password = ""; $db="mag2010-4363"; if (!mysql_connect($host, $user, $password)){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} //Проверка авторизации SESSION_START(); if(!array_key_exists("login",$_SESSION)) die('Пройдите <a href="../index.htm">авторизацию</a>'); if(!mysql_connect("localhost","root","")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); 18 mysql_query("INSERT INTO `buy` (`idb`, `buy_id`,`user_id`) VALUES ('','$_POST[act_buy]','$_SESSION[id]')"); header("location:buy.php"); ?> Файл manager.php: <?php //подключение к БД $host = "localhost"; $user = "mag2010"; $password = "sqrt"; $db="mag2010-4363"; if (!mysql_connect($host, $user, $password)){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} //Проверка авторизации SESSION_START(); $manager_sel = isset($_POST['manager_sel']); //$_SESSION['manager_login']=isset($_POST['manager_sel']) ; if(!array_key_exists("login",$_SESSION)) die('Пройдите <a href="../index.htm">авторизацию</a>'); //Добавляем запись о покупке в корзину echo"<h4 align='left'>Вы зашли как менеджер: $_SESSION[login]</h4> "; echo ' <style type="text/css"> <!-body { background-color: #FEF7C0; } --> </style> '; echo"<hr> "; 19 echo"Выберите действие:"; echo"<br><form method='POST' action='manager_del.php'>"; echo"<input type='radio' name='act_buy' value='del_buy'>Удалить билет из корзины<br>"; echo"<input type='submit' value='OK'> </form>"; echo"<hr>"; echo"<br><form method='POST' action='manager.php'>"; echo"<input type='radio' name='act_buy' value='manager_show'>Выбрать пользователя<br>"; echo"<input type='submit' value='OK'>"; echo"<hr> </form>"; if(isset($_POST['act_buy'])){ if ($_POST['act_buy']=='manager_show'){ echo"<p><form method='POST' action='manager.php' align='left'>"; if (!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); echo"&nbsp Выберите пользователя:"; $result = mysql_query("SELECT `buy`.`idb` , `buy`.`buy_id` , `buy`.`user_id` , `login`.`login` , `login`.`id_type` FROM `login` , `buy` WHERE `login`.`id` = `buy`.`user_id` AND `login`.`id_type` =3"); $kolstr=mysql_num_rows($result); echo"<select name='loginoper' size=1>"; $i=0; while ($i<$kolstr){ $var=mysql_fetch_array($result); echo("<option value=$var[login]>".$var[login]."</option>"); 20 $i++;} echo"</select><br>"; echo"<input type='submit' name='table' value='OK'>"; echo"</form>"; echo"<hr>"; }} //-----------------------------------------------------------------------------------------------if(isset($_POST['table'])){ echo "<h4>Корзина пользователя: </h4>"; if (!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); echo "<table border='1' cellpadding='4' align='center'> <tr> <th>ID</th> <th>День недели</th><th>Номер борта</th><th>Пункт отправления</th> <th>Пункт прибытия</th> <th>Время вылета</th> <th>Время прилета</th><th>Стоимость, руб.</th><th>Логин</th> </tr>"; $query = mysql_query("SELECT `buy`.`idb` , `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` FROM `buy` , `bort` , `airport` , `day` , `login` , `airport_dep` , `airport_arr` WHERE `buy`.`buy_id` = `airport`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`day_id` = `day`.`id` AND `login`.`id` = `buy`.`user_id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id` AND `login` LIKE '$_POST[loginoper]' "); while ($array = mysql_fetch_array($query)) { echo ' <tr> 21 <td>'.$array['idb'].'</td> <td>'.$array['day_id'].'</td> <td>'.$array['bort_id'].'</td> <td>'.$array['airport_dep'].'</td> <td>'.$array['airport_arr'].'</td> <td>'.$array['departure'].'</td> <td>'.$array['arrival'].'</td> <td>'.$array['cost'].'</td> <td>'.$_POST['loginoper'].'</td> </tr> '; } echo '</table>'; } echo"<p><A HREF='../index.htm'>Вернуться к старнице авторизации</A>"; echo"<hr>"; ?> Файл manager_del.php: <?php $host = "localhost"; $user = "root"; $password = ""; $db="mag2010-4363"; if (!mysql_connect($host, $user, $password)){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} //Проверка авторизации SESSION_START(); $_SESSION['manager_login']=$_POST[manager_sel]; if(!array_key_exists("login",$_SESSION)) die('Пройдите <a href="../index.htm">авторизацию</a>'); echo ' <style type="text/css"> <!-body { background-color: #FEF7C0; } 22 --> </style> '; //Добавляем запись о покупке в корзину echo"<h4 align='left'>Вы зашли как менеджер: $_SESSION[login] </h4>"; echo"<p><form method='POST' action='manager_del.php'>"; echo"<p>Введите ID заказа, который необходимо удалить:<br><input type='text' name='buy_rem_day'><br>"; echo"<input type='submit' value='Удалить'>"; echo"</form>"; echo"<hr>"; echo"Текущие заказы:<br>"; //код для удаления строки if(isset($_POST['buy_rem_day'])){ if(!mysql_connect("localhost","root","")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); mysql_query("DELETE FROM `buy` WHERE `idb`='$_POST[buy_rem_day]'"); } if (!mysql_connect("localhost","root","")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); echo "<table border='1' cellpadding='4' align='center'> <tr> <th>ID</th> <th>День недели</th><th>Номер борта</th><th>Время вылета</th> <th>Время прилета</th> <th>Стоимость, руб.</th> <th>Логин покупателя</th> </tr>"; $query = mysql_query("SELECT `buy`.`idb`,`day`.`day_id`,`bort`.`bort_id`,`airport`.`de 23 parture`,`airport`.`arrival`,`bort`.`cost`,`login`.`login ` FROM `buy` , `bort` , `airport` , `day` , `login` WHERE `buy`.`buy_id` = `airport`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`day_id` = `day`.`id` AND `login`.`id` = `buy`.`user_id` "); while ($array = mysql_fetch_array($query)) { echo ' <tr> <td>'.$array['idb'].'</td> <td>'.$array['day_id'].'</td> <td>'.$array['bort_id'].'</td> <td>'.$array['departure'].'</td> <td>'.$array['arrival'].'</td> <td>'.$array['cost'].'</td> <td>'.$array['login'].'</td> </tr> '; } echo '</table>'; echo"<p><A HREF='manager.php'>Вернуться к выбору пользователя</A>"; echo"<hr>"; ?> Файл oper_db.php: <?php //------------------------------------------------------------------------------------------------function bort_out($z,$p1,$p2) { $host = "localhost"; $user = "mag2010"; $password = "sqrt"; mysql_select_db("mag2010-4363"); if (!mysql_connect($host, $user, $password)) { echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit; } 24 echo "<table border='1' cellpadding='4' align='center'> <tr> <th>ID</th><th>Борт</th> </tr>"; echo "Таблица 'bort'."; // SQL-запрос: $q = mysql_query($z); // Выводим таблицу: while ($array = mysql_fetch_array($q)) { echo ' <tr> <td>'.$array[$p1].'</td> <td>'.$array[$p2].'</td> </tr> '; } echo '</table>'; mysql_close(); }; //----------------------------------------------------------------------------function day_out($z,$p1,$p2) { $host = "localhost"; $user = "mag2010"; $password = "sqrt"; mysql_select_db("mag2010-4363"); if (!mysql_connect($host, $user, $password)) { echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit; } echo "<table border='1' cellpadding='4' align='center'> <tr> <th>ID</th><th>День недели</th> </tr>"; echo "Таблица 'day'."; // SQL-запрос: $q = mysql_query($z); // Выводим таблицу: 25 while ($array = mysql_fetch_array($q)) { echo ' <tr> <td>'.$array[$p1].'</td> <td>'.$array[$p2].'</td> </tr> '; } echo '</table>'; mysql_close(); }; //----------------------------------------------------------------------------------function airport_out($z,$p1,$p2,$p3,$p4,$p5,$p6,$p7,$p8) { $host = "localhost"; $user = "mag2010"; $password = "sqrt"; mysql_select_db("mag2010-4363"); if (!mysql_connect($host, $user, $password)) { echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit; } echo "<table border='1' cellpadding='4' align='center'> <tr> <tr> <th>ID</th> <th>День недели</th><th>Номер борта</th><th>Пункт отправления</th> <th>Пункт прибытия</th> <th>Время вылета</th> <th>Время прилета</th><th>Стоимость, руб.</th> </tr>"; echo "Таблица 'airport'."; // SQL-запрос: $q = mysql_query($z); // Выводим таблицу: while ($array = mysql_fetch_array($q)) { echo ' 26 <tr> <td>'.$array[$p1].'</td> <td>'.$array[$p2].'</td> <td>'.$array[$p3].'</td> <td>'.$array[$p4].'</td> <td>'.$array[$p5].'</td> <td>'.$array[$p6].'</td> <td>'.$array[$p7].'</td> <td>'.$array[$p8].'</td> </tr> '; } echo '</table>'; mysql_close(); }; //-------------------------------------------------------------------------------------------------------------//Проверка авторизации SESSION_START(); if(!array_key_exists("login",$_SESSION)) die('Пройдите <a href="../index.htm">авторизацию</a>'); //Проверка подключения к БД if (!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} //------------------------------------------------------------------------------------------------echo ' <style type="text/css"> <!-body { background-color: #FEF7C0; } --> </style> '; echo "<h4 align='left'>Вы зашли как Оператор БД с именем $_SESSION[login]</h4>"; echo"Выберите одну из таблиц БД:"; echo"<br><form method='POST' action='oper_db.php'>"; 27 echo"<input type='radio' name='tbl' value='airport'>Аэропорт<br>"; echo"<input type='radio' name='tbl' value='bort'>Борт<br>"; echo"<input type='submit' value='Выбрать'>"; echo"</form>"; //Вывод таблицы airport----------------------------------------------------------------------if(isset($_POST['tbl'])){ if ($_POST['tbl']=='airport'){ echo"<hr>"; echo"Выберите действие:"; echo"<br><form method='POST' action='oper_db.php'>"; echo"<input type='radio' name='act_airport' value='add_airport'>Добавить запись<br>"; echo"<input type='radio' name='act_airport' value='del_airport'>Удалить запись<br>"; echo"<input type='submit' value='OK'>"; echo"<hr>"; $zapros="SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id`"; airport_out($zapros,'id','day_id','bort_id','airport_ dep','airport_arr','departure','arrival','cost'); } //Вывод таблицы bort-----------------------------------------------------------------if ($_POST['tbl']=='bort'){ echo"<hr>"; echo"Выберите действие:"; 28 echo"<br><form method='POST' action='oper_db.php'>"; echo"<input type='radio' name='act_bort' value='add_bort'>Добавить запись<br>"; echo"<input type='radio' name='act_bort' value='del_bort'>Удалить запись<br>"; echo"<input type='submit' value='OK'>"; echo"<hr>"; $zapros="SELECT * FROM `bort`"; bort_out($zapros,'id','bort_id'); } //Вывод таблицы day-----------------------------------------------------------------------if ($_POST['tbl']=='day'){ echo"<hr>"; echo"Выберите действие:"; echo"<br><form method='POST' action='oper_db.php'>"; echo"<input type='radio' name='act_day' value='add_day'>Добавить запись<br>"; echo"<input type='radio' name='act_day' value='del_day'>Удалить запись<br>"; echo"<input type='submit' value='OK'>"; echo"<hr>"; $zapros="SELECT * FROM `day`"; day_out($zapros,'id','day_id'); } } //------------------------------------------------------------------------------------------------//------------------------------Создание форм для добавления и удаления записей в таблицах---------//------------------------------------------------------------------------------------------------if(isset($_POST['act_bort'])){ if($_POST['act_bort']=='add_bort'){ echo"<p><form method='POST' action='oper_db.php'>"; echo"<hr>"; echo"<p>Введите новый тип самолета:<br><input type='text' name='new_bort'><br>"; echo"<input type='submit' value='Добавить'>"; echo"</form>"; 29 $zapros="SELECT * FROM `bort`"; bort_out($zapros,'id','bort_id');} if($_POST['act_bort']=='del_bort'){ echo"<p><form method='POST' action='oper_db.php'>"; echo"<hr>"; echo"<p>Введите ID типа самолета, который необходимо удалить:<br><input type='text' name='rem_bort'><br>"; echo"<input type='submit' value='Удалить'>"; echo"</form>"; echo"<hr>"; $zapros="SELECT * FROM `bort`"; bort_out($zapros,'id','bort_id','cost'); } } //------------------------------------------------------------------------------------------------if(isset($_POST['act_airport'])){ if($_POST['act_airport']=='add_airport'){ echo"<p><form method='POST' action='oper_db.php' align='left'>"; if (!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); $result = mysql_query("SELECT * FROM `day`"); $kolstr=mysql_num_rows($result); echo"<hr>"; echo"&nbsp Выберите день недели:&nbsp&nbsp"; echo("<select name='sel_day' size=1>"); $i=0; while ($i<$kolstr){ $var=mysql_fetch_array($result); echo("<option value=$var[id]>".$var[day_id]."</option>"); $i++;} echo"</select><br>"; 30 $result = mysql_query("SELECT * FROM `bort`"); $kolstr=mysql_num_rows($result); echo"&nbsp Выберите тип самолета:"; echo("<select name='sel_bort' size=1>"); $i=0; while ($i<$kolstr){ $var=mysql_fetch_array($result); echo("<option value=$var[id]>".$var[bort_id]."</option>"); $i++;} echo"</select><br>"; $result = mysql_query("SELECT * FROM `airport_dep`"); $kolstr=mysql_num_rows($result); echo"&nbsp Выберите пункт отправления:"; echo("<select name='punkt_dep' size=1>"); $i=0; while ($i<$kolstr){ $var=mysql_fetch_array($result); echo("<option value=$var[id]>".$var[airport_dep]."</option>"); $i++;} echo"</select><br>"; $result = mysql_query("SELECT * FROM `airport_arr`"); $kolstr=mysql_num_rows($result); echo"&nbsp Выберите пункт прибытия:&nbsp&nbsp&nbsp&nbsp&nbsp"; echo("<select name='punkt_arr' size=1>"); $i=0; while ($i<$kolstr){ $var=mysql_fetch_array($result); echo("<option value=$var[id]>".$var[airport_arr]."</option>"); $i++;} echo"</select><br>"; echo"&nbsp Введите время вылета (в формате 00:00:00):&nbsp&nbsp<input type='text' name='new_departure'><br>"; echo"&nbsp Введите время прилета (в формате 00:00:00):<input type='text' name='new_arrival'><br>"; 31 echo"&nbsp Введите цену билета:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp&nbsp&nbsp<input type='text' name='new_cost'><br>"; echo"<input type='submit' value='Добавить'>"; echo"</form>"; echo"<hr>"; $zapros="SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id`"; airport_out($zapros,'id','day_id','bort_id','airport_ dep','airport_arr','departure','arrival','cost'); } if($_POST['act_airport']=='del_airport'){ echo"<p><form method='POST' action='oper_db.php'>"; echo"<hr>"; echo"<p>Введите ID строки, которую необходимо удалить:<br><input type='text' name='rem_airport'><br>"; echo"<input type='submit' value='Удалить'>"; echo"</form>"; echo"<hr>"; $zapros="SELECT `day`.`day_id` , `bort`.`bort_id` , `airport_dep`.`airport_dep` , `airport_arr`.`airport_arr` , `airport`.`departure` , `airport`.`arrival` , `airport`.`cost` , `airport`.`id` FROM `airport` , `day` , `bort` , `airport_dep` , `airport_arr` WHERE `airport`.`day_id` = `day`.`id` AND `airport`.`bort_id` = `bort`.`id` AND `airport`.`airport_arr_id` = `airport_dep`.`id` AND `airport`.`airport_dep_id` = `airport_arr`.`id`"; 32 airport_out($zapros,'id','day_id','bort_id','airport_ dep','airport_arr','departure','arrival','cost'); } } //------------------------------------------------------------------------------------------------//------------------------------Добавления записей в таблицы БД------------------------------------if(isset($_POST['new_bort'])){ if(!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); mysql_query("INSERT INTO `bort` (`id`, `bort_id`) VALUES ('','$_POST[new_bort]')"); mysql_close();} //------------------------------------------------------------------------------------------------if(isset($_POST['sel_bort'])){ if(!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); mysql_query("INSERT INTO `airport` (`id`,`day_id`,`bort_id`,`departure`,`arrival`,`cost`,`ai rport_arr_id`,`airport_dep_id`) VALUES ('','$_POST[sel_day]','$_POST[sel_bort]','$_POST[new_depa rture]','$_POST[new_arrival]','$_POST[new_cost]','$_POST[ punkt_dep]','$_POST[punkt_arr]')"); mysql_close(); } //------------------------------------------------------------------------------------------------//------------------------------Удаление записей из таблицы БД-------------------------------------//------------------------------------------------------------------------------------------------33 if(isset($_POST['rem_airport'])){ if(!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); mysql_query("DELETE FROM `airport` WHERE `id`='$_POST[rem_airport]'"); mysql_close();} //------------------------------------------------------------------------------------------------if(isset($_POST['rem_bort'])){ if(!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); mysql_query("DELETE FROM `bort` WHERE `id`='$_POST[rem_bort]'"); mysql_close();} //------------------------------------------------------------------------------------------------if(isset($_POST['rem_day'])){ if(!mysql_connect("localhost","mag2010","sqrt")){ echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit;} mysql_select_db("mag2010-4363"); mysql_query("DELETE FROM `day` WHERE `id`='$_POST[rem_day]'"); mysql_close();} //------------------------------------------------------------------------------------------------echo"<p><A HREF='../index.htm'>Вернуться на страницу регистрации</A>"; echo"<hr>"; ?> Файл admin_user.php: <?php 34 //----------------------------------------------------------------------------------function out($z,$a,$b,$c,$p1,$p2,$p3) { $host = "localhost"; $user = "mag2010"; $password = "sqrt"; $db="mag2010-4363"; if (!mysql_connect($host, $user, $password)) { echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit; } // Выбираем базу данных: mysql_select_db($db); // Выводим заголовок таблицы: echo "<table align='center' border=\"1\" width=\"80%\" bgcolor=\"#FFFFE1\">"; echo "<tr><td>'$a'</td><td>'$b'</td><td>'$c'</td></tr>"; // SQL-запрос: $q = mysql_query($z); // Выводим таблицу: for ($c=0; $c<mysql_num_rows($q); $c++) { $f = mysql_fetch_array($q); echo "<tr><td>$f[$p1]</td><td>$f[$p2]</td><td>$f[$p3]</td></tr >"; } echo "</table>"; mysql_close(); }; //----------------------------------------------------------------------------------$fl_1=0; $fl_2=0; SESSION_START(); if(!array_key_exists("login",$_SESSION)) die('Пройдите <a href="../index.htm">авторизацию</a>'); //----------------------------------------------------------------------------------$zapros="SELECT `login`.`login`,`login`.`pass`, `type_user`.`type_user` 35 FROM `login`,`type_user` WHERE `login`.`id_type` =`type_user`.`id`"; //----------------------------------------------------------------------------------echo ' <style type="text/css"> <!-body { background-color: #FEF7C0; } --> </style> '; echo"<h4 align='left'>Вы зашли как администратор: $_SESSION[login] </h4><hr>"; $result=out($zapros,'Логин','Пароль','Тип учетной записи','login','pass','type_user'); echo"<p><form method='POST' action='admin_user.php'>"; echo"<table align='center' width=\"80%\" >"; echo"<input type='radio' name='act' value='add_usr'>Добавить пользователя<br>"; echo"<input type='radio' name='act' value='del_usr'>Удалить пользователя<br>"; echo"<input type='submit' value='ОК'>"; echo"</form>"; echo"<table><br><hr>"; //----------------------------------------------------------------------------------if (isset($_POST['act'])){ if ($_POST['act']=='add_usr'){ echo"<p><form method='POST' action='admin_user.php'>"; // value=1>"; echo"<input type=hidden name=fl_1 36 echo"<p>Введите имя пользователя:<br><input type='text' name='add_login'><br>"; echo"Введите пароль пользователя:<br><input type='password' name='add_pass'><br>"; if (!mysql_connect("localhost","mag2010","sqrt")) { echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit; } mysql_select_db("mag2010-4363"); $result = mysql_query("SELECT `type_user`.`id`,`type_user`.`type_user` FROM `type_user` LIMIT 0 , 30"); mysql_close(); $kolstr=mysql_num_rows($result); echo"Выберите тип учетной записи:"; echo("<br><select name='sel_add' size=1>"); $i=0; while ($i<$kolstr){ $var=mysql_fetch_array($result); echo("<option value=$var[id]>".$var[type_user]."</option>"); $i++; } echo"</select><br>"; echo"<input type='submit' value='Добавить'>"; echo"<hr>"; echo"</form>"; } if ($_POST['act']=='del_usr'){ echo"<p><form method='POST' action='admin_user.php'>"; // echo"<input type=hidden name=fl_2 value=1>"; 37 echo"<p>Введите login пользователя которого необходимо удалить:<br><input type='text' name='del_login'><br>"; echo"<input type='submit' value='Удалить'>"; echo"</form>";echo"<hr>"; } } if (isset($_POST['add_login'],$_POST['add_pass'])){ if(!mysql_connect("localhost","mag2010","sqrt")) { echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit; } mysql_select_db("mag2010-4363"); mysql_query("INSERT INTO `login` (`login`, `pass`, `id_type`) VALUES ('$_POST[add_login]','$_POST[add_pass]','$_POST[sel_add]' )"); mysql_close(); } if (isset($_POST['del_login'])){ if($_POST['del_login']=="admin") { echo "<h2>Удалить данного пользователя невозможно!!!</h2>"; exit; } if(!mysql_connect("localhost","mag2010","sqrt")) { echo "<h2>Ошибка при подключении к MySQL!</h2>"; exit; } mysql_select_db("mag2010-4363"); mysql_query("DELETE FROM `login` WHERE `login` = '$_POST[del_login]';"); mysql_close(); 38 } echo"<br>"; echo"Для отображения изменений обновите страницу. <A HREF='admin_user.php'> <h4>Обновить страницу...</h4></A>"; echo"<br><A HREF='../index.htm'>Вернуться на страницу регистрации</A><hr>"; ?> Экранные формы реализованного проекта На рис. 1 представлена экранная форма index.htm, где пользователь вводит логин и пароль доступа. Для входа в качестве администратора ‘admin’, а в качестве пароля ’admin’. Рисунок 1. Экранная форма index.htm 39 На рис. 2 представлена экранная форма admin_user.php. При помощи этого скрипта администратор может удалять и добавлять пользователей. Рисунок 2. Экранная форма admin_user.php 40 На рис. 3 представлена экранная форма oper_db.php. При помощи этой формы оператор может выбирать таблицу для редактирования, добавлять и удалять строки в выбранной таблице. Рисунок 3. Экранная форма oper_db.php 41 На рис. 4 представлена экранная форма form_user.php. При помощи этой формы пользователь выбирает параметры рейса. Рисунок 4. Экранная форма form_user.php 42 На рис. 5 представлена экранная форма user.php. При помощи этой формы пользователь может выбрать рейс с подходящими параметрами и отправить билет в корзину. Рисунок 5. Экранная форма user.php 43 На рис. 6 представлена экранная форма buy.php. При помощи этой формы пользователь может просмотреть, выбранные им заказы, и удалить ненужные. Рисунок 6. Экранная форма buy.php 44 На рис. 7 представлена экранная форма manager.php. При помощи этой формы менеджер может выбрать пользователя и просмотреть его корзину. Рисунок 7. Экранная форма manager.php 45 На рис. 8 представлена экранная форма manager_del.php. При помощи этой формы менеджер может ужалить билет из корзины пользователя. Рисунок 8. Экранная форма manager_del.php. 46 ВЫВОДЫ В результате выполнения лабораторной работы были изучены принципы составления SQL запросов. Принципы работы с сессиями. Принципы создание многопользовательских интернет-приложений. Было создано многопользовательское приложение, содержащее четыре типа учетных записей: пользователь, менеджер, оператор базы данных и администратор. Учетная запись пользователя позволяет выбирать параметры рейса: время вылета и день недели и отправлять заказ менеджеру. Учетная запись менеджера позволяет при исполнении заказа может удалить билет из корзины пользователя. Учетная запись оператора базы данных позволяет вносить информацию в расписание, а также добавлять новые типы самолетов. Учетная запись администратора позволяет добавлять новые учетные записи пользователей, менеджеров, операторов и администраторов системы. Первой страницей приложения является форма для ввода логина и пароля. Далее данные с формы отправляются скрипту avtoriz.php, который, в зависимости от имени и прав доступа пользователя, направляет его на нужную страницу. 47 СПИСОК ЛИТЕРАТУРЫ 1. Разработка распределенных интерактивных приложений на базе Интернет-технологий: Лабораторный практикум по дисциплине «Основы Интернет технологий» Часть 5 / Уфимск. гос. авиац. техн. ун-т; Сост. Ш.М. Минасов. – Уфа, 2007. – 21 с. 2. РНР: настольная книга программиста /Александр Мазуркевич, Дмитрий Еловой. – Мн.: Новое знание, 2003. – 480 с.: ил. 3. Разработка Web-приложений на РНР и MySQL: Пер. с англ./Лаура Томсон, Люк Веллинг. – 2-е изд., испр. – СПб: ООО «ДиаСофтЮП», 2003. – 672 с. 48