49041

WEB – СЕРВИС

Курсовая

Информатика, кибернетика и программирование

Приходится разбираться с многочисленными параметрами конфигурации pche PHP и MySQL. Денвер это те же самые дистрибутивы pche PHP MySQL. Денвер создавался для того чтобы упростить настройку и установку свободно распространяемых программ pche PHP MySQL и т. Базовый пакет содержит большинство необходимых Webпрограммисту программ и утилит: pche с поддержкой SSI mod_rewrite mod_php.

Русский

2013-12-20

1.21 MB

3 чел.

МИНИСТЕРСТВ ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Томский государственный университет систем управленияи радиоэлектроники

Кафедра радиоэлектроники и защиты информации (РЗИ)

WEB – СЕРВИС

Пояснительная записка к курсовой работе

Студенты гр. 181

____________ Амплеев А.Н.

        ____________ Дронкин К.А.

___________Скворцова Д.А.

________ Шабангалиев Т.Ф.

                          Руководитель

                      Доцент кафедры РЗИ

____________ Смирнов Е.В

2013

Содержание

Введение……………………………………………………………………...3

Выбор программного обеспечения…………………………………………4

Установка локального Web-сервера………………………………………..6

Настройки Web-сервера …………………………………………………...11

Краткое содержание сайта…………………………………………………13

Размещение сайта на сервере……………………………………………...14

Обеспечение доступа к сайту из сети……………………………………..15

Тестирование функционала сайта………………………………………....18

Заключение………………………………………………………………….21

Список литературы…………………………………………………………22

Приложение А………………………………………………………………23

Приложение Б………………………………………………………………24

Приложение В…………………………………………………………........25

Приложение Г……………………………………………………………….27

Приложение Д……………………………………………………………….31

Приложение Е……………………………………………………………….38

ВВЕДЕНИЕ

Работающий Web-сервер и СУБД требуются при создании Интернет проектов с использованием современных технологий. Наилучший вариант — это установка локального Web-сервера на тот же ПК, где создается Интернет проект. Этот ПК всегда доступен по IP-адресу 127.0.0.1, что эквивалентно доменному имени localhost. Поэтому для доступа к Web-серверу через браузер можно использовать адрес http://localhost. При использовании локального сервера все изменения в файлах доступны через браузер сразу же. Когда все скрипты будут отлажены, можно зайти в Интернет и скопировать их на сервер хостинг-провайдера. В данной работе будет рассмотрено установка и настройка web-сервера.

ВЫБОР ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Язык программирования РНР, специально предназначенный для работы в Интернет, изначально создавался под Unix-подобные операционные системы — Linux, FreeBSD, и т.п. Под Windows существует свой аналог РНР, который называется ASP (Active Server Pages). Он полностью ориентирован на Windows и позволяет учитывать и использовать все особенности этой операционной системы. При этом в качестве HTTP-сервера рекомендуют использовать IIS (Internet Information Server) — продукт компании Microsoft.

Желательно, чтобы на сервере и на компьютере, на котором создаются и тестируются РНР - сценарии, стояли одинаковые операционные системы. Бывает так, что РНР -программа отлично работает на Windows-компьютере, но отказывается работать или работает некорректно под Linux. Профессиональное использование РНР ориентировано на Linux (Unix). Существуют детали и возможности, которые нельзя учесть в силу разности ОС Windows и ОС Linux (Unix).

Apache самый распространенный сервер. Он установлен у большинства хостинг-провайдеров. Существует его Windows-версия, практически идентичная по функциональности своему Unix-собрату.

Установка сервера Apache и сопутствующих программ вручную - утомительное занятие. Приходится разбираться с многочисленными параметрами конфигурации Apache, PHP и MySQL.

Существуют готовые комплексы, не нуждающиеся в настройке. Наиболее популярным из таких комплексов является Денвер – это "Джентльменский набор Web-разработчика". Денвер — это те же самые дистрибутивы Apache, PHP, MySQL. Они объединены в единый архив и снабжены удобным инсталлятором и утилитами настройки (включая средства автоматического конфигурирования виртуальных хостов).

Денвер создавался для того, чтобы упростить настройку и установку свободно распространяемых программ (Apache, PHP, MySQL и т. д.). Он имеет модульную структуру. Его ядро — так называемый "базовый пакет". Все остальные компоненты поставляются в виде автономных пакетов расширений, для работы которых нужен базовый пакет.

Базовый пакет содержит большинство необходимых Web-программисту программ и утилит:

● Apache с поддержкой SSI, mod_rewrite, mod_php.

● PHP с поддержкой GD и MySQL.

● MySQL с поддержкой транзакций (mysql-max).

● phpMyAdmin — система управления MySQL через Web-интерфейс; полностью заменяет командную строку MySQL.

● Ядро Perl без стандартных библиотек (они поставляются отдельно).

● Эмулятор sendmail (отладочная "заглушка", помещающая приходящие письма в каталог /tmp); поддерживается работа совместно с РНР и Perl.

● Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить каталог в /home, править конфигурационные файлы не требуется.

● Система настройки и управления запуском/завершением.

●. Инсталлятор.

Дистрибутив, содержащий все перечисленные выше компоненты, занимает около 9 Мбайт.

УСТАНОВКА ЛОКАЛЬНОГО WEB–СЕРВЕРА

Скачиваем с официального сайта готовую сборку Denwer.

Начинаем установку.

Нажмём клавишу Enter и продолжим установку.

Устанавливаем в стандартную директорию.

Создаем виртуальный диск Z.

Выберем первый вариант. Создадим ярлыки на рабочем столе. На этом установка Denwer завершена.

Для проверки работоспособности Apache, создадим с помощью блокнота, по пути Z:\home\localhost\www  файл index.html в котором напишем текст: Проверка работоспособности.

Запустим браузер. В адресной строке напишем localhost. На экране отобразится фраза: Проверка работоспособности. Это говорит о том, что Apache установлен правильно.

Для проверки поддержки Apache PHP, создадим с помощью блокнота, по пути Z:\home\localhost\www  файл index.php в котором напишем текст: <?php phpinfo(); ?>

Функция phpinfo() отображает детальную информацию об интерпретаторе:

♦ Версию РНР.

♦ Версию операционной системы.

♦ Параметры, заданные при сборке РНР.

♦ Дату сборки интерпретатора.

♦ Сведения о дополнительных модулях.

♦Переменные окружения — основные и локальные настройки интерпретатора.

♦ Заголовки HTTP.

♦ Лицензию РНР.

Запустим браузер. В адресной строке напишем localhost. На экране отобразится информация об установленном PHP. Это говорит о том, что PHP установлен правильно.

На этом проверка сервера завершена.

НАСТРОЙКИ WEB–СЕРВЕРА

Сервер Apache имеет три конфигурационных файла: httpd.conf, srm.conf, access.conf. Обычно эти файлы находятся в каталоге /etc/httpd/conf. Вся настройка сервера заключается в редактировании этих трех файлов.

Рассмотрим, какие функции выполняют эти файлы:

● Файл httpd.conf — это основной файл конфигурации сервера. В нем содержится техническое описание работы сервера.

● В файле srm.conf задаются параметры документов, которые размещены на сервере.

● Файл access.conf содержит параметры доступа к серверу.

Начиная с версии 1.3, все директивы, которые раньше находились в файлах srm.conf и access.conf, помещены в файл httpd.conf.

Далее рассмотрим конфигурационный файл httpd.conf и его директивы.

Директивой называется параметр сервера, влияющий на его поведение. Директивы бывают простыми и сложными, которые также называются блоками директив. Простые директивы изменяют только одно свойство сервера, например, его имя, а блоки директив позволяют изменять сразу несколько свойств какого-нибудь объекта, например, каталога.

Как уже отмечалось ранее, этот файл содержит практически все директивы, необходимые для работы сервера. Директивы конфигурационного файла сервера Apache можно условно разделить на такие группы:

1. Общие. К общим директивам относятся глобальные директивы, влияющие на работу всего Web-сервера. Это директивы ServerName, ServerType, Port, User и Group, ServerAdmin, ServerRoot, PidFile, DocumentRoot, UserDir.

2. Директивы протоколирования: Error Log, TransferLog, HostnameLookups.

3. Директивы ограничения доступа: AllowOverride, Options, Limit.

4. Директивы управления производительностью: StartServers, MaxSpareServers, MinSpareServers, а также Директива CacheNegotiatedDocs.

5. Директивы обеспечения постоянного соединения с клиентом: Timeout, KeepAlive, KeepAliveTimeout.

6. Директивы настройки отображения каталогов. Оформить отображение каталогов можно с помощью директив настройки отображения каталогов: Directorylndex, Fancylndexing и AddlconByType.

7. Директивы обработки ошибок. Директивой обработки ошибок HTTP-сервера является директива ErrorDocument. С ее помощью можно установить реакцию на любую ошибку сервера, например, на ошибку 404 (документ не найден).

8. Директивы перенаправления: Redirect, Alias и ScriptAlias.

9. Директивы для работы с многоязычными документами: AddLanguage и LanguagePriority.

10. Директивы обработки MIME-типов. Настроить свой сервер для обработки различных MIME-типов можно с помощью директив DefaultType, AddEncoding, AddType, AddHandler и Action.

11. Директивы создания виртуальных узлов: VirtualHost, Listen, BindAddress.

КРАТКОЕ ОПИСАНИЕ САЙТА

Реализованное приложение позволяет осуществить извлечение информации о курсе валют, а также авиа перелетах города Томска и отобразить их в браузере.

Архитектура:

  1.  actions — действия, отображающие необходимую информацию в соответствии с запросом получая ее из моделей. Возвращают JSON данные.
  2.  front — все, что относится к отображению сайта в браузере.
  3.  lib — библиотеки. В данной работе мы использовали библиотеку для парсинга сайтов с открытым исходным кодом phpQuery.
  4.  models — модели. Используются для извлечения данных и дальнейшей передачи их в действия. Currency.php — класс для получения курса валют. Schedule.php — класс для получения расписания авиа перелетов г. Томска.

Содержание файлов доступно в приложениях.

РАЗМЕЩЕНИЕ САЙТА НА СЕРВЕРЕ

По адресу Z:\home\localhost\www разместим файлы  сайта.

Для проверки в адресной строке наберём localhost.

Этим мы проверили работоспособность сайта.

ОБЕСПЕЧЕНИЕ ДОСТУПА К САЙТУ ИЗ СЕТИ

Проекты, заведенные в Денвере, по умолчанию не доступны из локальной сети. Это достигается благодаря тому, что все виртуальные хосты имеют IP-адрес 127.0.0.1, всегда обозначающий "текущая локальная машина".Тем не менее, все же существует возможность открыть доступ к проектам.

Определим IP-адрес компьютера. Для этого воспользуемся командой ipconfig в командной строке.

 

По пути Z:\home\localhost создадим папку и назовём её полученным IP-адресом и скопируем в неё содержимое папки находящейся по пути Z:\home\localhost\www.

Откроем браузер, в адресной строке введём  IP-адрес компьютера.

Теперь сайт доступен из сети.

Просмотрим сайт с другого компьютера. Для этого в адресной строке введём IP-адрес компьютера на котором располагается сайт.

Произвели проверку доступности сайта из сети.

ТЕСТИРОВАНИЕ ФУНКЦИОНАЛА САЙТА

Для тестирования функционала сайта, откроем браузер, введём IP-адрес компьютера, на котором расположен сервер с сайтом.

Для проверки первой части сайта выберем из какой валюты в какую нужно перевести. Для примера выберем из доллара в рубль.

Нажмём подтвердить.

На экране отобразится текущий курс валют.

Работоспособность первой части проверена.

Для проверки работоспособности второй части осуществим выбор пункта назначения. Для примера выберем Москва аэропорт Внуково.

Нажмём кнопку подтвердить. На экране отобразится расписание паллетов по выбранному маршруту, в том числе: авиакомпания, тип воздушного судна, номер рейса, время отправления, время прибытия, частота движения.

Работоспособность второй части проверена.

ЗАКЛЮЧЕНИЕ

В данной работе была поэтапно описана установка и настройка web-сервера. На сервер был помещён сайт.

СПИСОК ЛИТЕРАТУРЫ

1. http://phpmaster.ru/

2. http://habrahabr.ru/

3.http://php.net/

4. Скляр Д., Трахтенберг А. PHP. Сборник рецептов. – Пер. с англ. – СПб: Символ – Плюс, 2005.

5. Котеров Д., Костарев А. PHP5 в подлиннике. – СПб: Символ – Плюс, 2005. 6. Дюбуа П. MySQL. Сборник рецептов. – Пер. с англ. - СПб: Символ – Плюс, 2004.

ПРИЛОЖЕНИЕ А

Содержание файла get_currency_rate

<?php

error_reporting(E_ALL);

ini_set('display_errors', '1');

if ($_POST) {

   $request = $_POST;

   require_once('../models/Currency.php');

   $model = new Currency();

   $data = array();

   

   try {

       $course = $model->getRate($request['from'], $request['to']);

       $data['date'] = $course[0];

       $data['course'] = $course[1];

       $data['changes'] = $course[2];

   } catch (Currency_Exception $e) {

       $data['error'] = $e->getMessage();

   } catch (Exception $e) {

       $data['error'] = $e->getMessage();

   }

   

   echo json_encode($data);

   exit;

}

ПРИЛОЖЕНИЕ Б

Содержание файла get_schedule

<?php

error_reporting(E_ALL);

ini_set('display_errors', '1');

if ($_POST) {

   $request = $_POST;

   require_once('../models/Schedule.php');

   $model = new Schedule();

   $data = array();

   

   try {

       $schedule = $model->getSchedule($request['index']);

       $data['result'] = $schedule;

   } catch (Schedule_Exception $e) {

       $data['error'] = $e->getMessage();

   } catch (Exception $e) {

       $data['error'] = $e->getMessage();

   }

   

   echo json_encode($data);

   exit;

}

ПРИЛОЖЕНИЕ В

Содержание файла Currency

<?php

class Currency_Exception extends Exception {}

class Currency

{

   protected $_hrefs = array(

       '1-2' => 'http://bankir.ru/kurs/dollar-ssha-k-rossijskij-rubl',

       '2-1' => 'http://bankir.ru/kurs/rossijskij-rubl-k-dollar-ssha'

   );

   

   protected $_errors = array(

       'incorrect' => 'НекоррекСРЅСРРІРІРѕРґ. КонверСР°СРёСЏ РЅРµРІРѕР·РјРѕРРЅР°.',

       'not_found' => 'КонверСР°СРёСЏ РЅРµРІРѕР·РјРѕРРЅР°',

       'not_available' => 'Сервис РЅРµРґРѕСЃСупен'

   );

   

   public function __construct()

   {

       require_once('../lib/phpQuery/phpQuery.php');

   }

   

   public function getRate(/* Int */ $from, /* Int */ $to)

   {

       $from = intval($from);

       $to = intval($to);

       

       if (0 !== $from && 0 !== $to && $from !== $to) {

           if (isset($this->_hrefs[(string) $from . '-' . (string) $to])) {

               $href = $this->_hrefs[(string) $from . '-' . (string) $to];

               

               try {

                   $result = array();

                   $html =@ file_get_contents($href);

                   

                   if (!$html) {

                       throw new Currency_Exception($this->_errors['not_available']);

                   }

                   

                   $document = phpQuery::newDocument($html);

                   $coursesTable = pq($document->find('table.kurs_table_small'));

                   $course = pq($coursesTable->find('tr.bold'));

                   $course->find('img')->remove();

                   $values = $course->find('td');

                   

                   foreach($values as $value) {

                       $result[] = trim(pq($value)->html());

                   }

                   return $result;

               } catch (Exception $e) {

                   throw new Currency_Exception($this->_errors['not_available']);

               }

           } else {

               throw new Currency_Exception($this->_errors['not_found']);

           }

       } else {

           throw new Currency_Exception($this->_errors['incorrect']); } }

}

ПРИЛОЖЕНИЕ Г

Содержание файла Shedule

<?php

class Schedule_Exception extends Exception {}

class Schedule

{

   protected $_href = 'http://tomskairport.ru/topassengers/flights/';

   

   protected $_errors = array(

       'error' => 'НевозмоРРЅРѕ РїРѕР»СѓСРёССЊ СЂР°СЃРїРёСЃР°РЅРёРµ',

       'empty' => 'РџСѓРЅРєСназнаСения РЅРµ РІСбран',

       'not_available' => 'Сервис РЅРµРґРѕСЃСупен'

   );

   

   protected $_destinations = array(

       0 => 'РќРµ РІСбрано',

       1 => 'РњРѕСЃРєРІР° (РРЅСѓРєРѕРІРѕ)',

       2 => 'РњРѕСЃРєРІР° (Ромодедово)',

       3 => 'РњРѕСЃРєРІР° (ШеремеСьево)',

       4 => 'Санкт-РџРµСербург (Пулково)',

       5 => 'РЎРѕСРё (Адлер)',

       6 => 'Анапа (Анапа)',

       7 => 'Красноярск (Рмельяново)',

       8 => 'РЎСѓСЂРіСѓС‚ (РЎСѓСЂРіСѓС‚)',

       9 => 'Рарнаул (Рарнаул)',

       10 => 'РќРёРневарСРѕРІСЃРє (РќРёРневарСРѕРІСЃРє)',

       11 => 'РЎССЂРµРевой (РЎССЂРµРевой)',

       12 => 'РќРѕРІРѕСЃРёР±РёСЂСЃРє (ТолмаСево)',

       13 => 'РРѕСЂРЅРѕ-РђР»СР°РСЃРє (РРѕСЂРЅРѕ-РђР»СР°РСЃРє)'

   );

   

   public function getDestanations()

   {

       return $this->_destinations;

   }

   

   public function getSchedule(/* Int */ $destinationIndex)

   {

       require_once('../lib/phpQuery/phpQuery.php');

       $destinationIndex = intval($destinationIndex);

       

       if (0 !== $destinationIndex) {

           if (isset($this->_destinations[$destinationIndex])) {

               $destination = $this->_destinations[$destinationIndex];

               

               try {

                   $result = array();

                   $i = 0;

                   $html = @file_get_contents($this->_href);

                   

                   if (!$html) {

                       throw new Schedule_Exception($this->_errors['not_available']);

                   }

                   

                   $document = phpQuery::newDocument($html);

                   $table = pq($document->find('table.info_online'));

                   $trs = $table->find('tr');

                   

                   foreach($trs as $el) {

                       $flight = pq($el);

                       if ($this->_wtoutf(trim($flight->find('td:eq(3)')->html())) == $destination) {

                           $j = 0;

                           $tds = $flight->find('td');

                           foreach ($tds as $el) {

                               $result[$i][$j] = $this->_wtoutf(trim(pq($el)->html()));

                               $j++;

                           }

                           unset($result[$i][3]);

                           unset($result[$i][7]);

                           unset($result[$i][9]);

                           $i++;

                       }

                   }

                   return $result;

               } catch (Exception $e) {

                   throw new Schedule_Exception($this->_errors['not_available']);

               }

           } else {

               throw new Schedule_Exception($this->_errors['error']);

           }

       } else {

           throw new Schedule_Exception($this->_errors['empty']);

       }

   }

   

   /**

    * Encoding from windows-1251 to UTF-8

    *

    * @param String $content

    * @return String

    */

   protected function _wtoutf(/* String */ $content)

   {

       return iconv('windows-1251', 'utf-8', $content);

   }

}

ПРИЛОЖЕНИЕ Д

Содержание файла view

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>

 <head>

   <title>РљСѓСЂСЃРѕРІРѕРпроект</title>

   <meta name="viewport" content="width=device-width, initial-scale=1">

   <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">

   <link rel="stylesheet" href="front/bootstrap.css">

   <link rel="stylesheet" href="front/bootstrap-responsive.css">

   <script src="front/jquery.min.js"></script>

   <script src="front/bootstrap.min.js"></script>

   <script type="text/javascript">

       var currency = {

           get: function() {

               var from = $('#from').val(),

                       to = $('#to').val(),

                       result = $('#result0'),

                       error = $('#error0'),

                       loader = $('#loader0');

                   

                  result.hide();

                  error.hide();

                  loader.show();

                  $.ajax({

                       type: 'POST',

                       url: 'actions/get_currency_rate.php',

                       dataType:'json',

                       data: {from: from, to: to},

                       success: function(data) {

                           loader.hide();

                           if (!data.error) {

                               result.find('#date0').html(data.date);

                               result.find('#course0').html(data.course);

                               result.find('#changes0').html(data.changes);

                               result.show();

                           } else {

                               error.show().html(data.error);

                           }

                       }                            

                   });   

               }

           }

           var schedule = {

               get: function() {

                   var index = $('#destination').val(),

                           result = $('#result1'),

                           error = $('#error1'),

                           loader = $('#loader1'),

                           outputFrom = '',

                           outputTo = '';

                      result.find('tbody').empty();

                      result.hide();

                      error.hide();

                      loader.show();

                      $.ajax({

                           type: 'POST',

                           url: 'actions/get_schedule.php',

                           dataType:'json',

                           data: {index: index},

                           success: function(data) {

                               loader.hide();

                               if (!data.error) {

                                   outputFrom += '<tbody>';

                                   outputTo += '<tbody>';

                                   for (var row in data.result) {

                                       var i = 0;

                                       outputFrom += '<tr>';

                                       outputTo += '<tr>';

                                       for(var flight in data.result[row]) {

                                           var value = data.result[row][flight];

                                           if (i == 0 || i == 1) {

                                               outputFrom += '<td>' + value + '</td>';

                                               outputTo += '<td>' + value + '</td>';

                                           }

                                           if (i <= 5 && i != 0 && i != 1) {

                                               outputFrom += '<td>' + value + '</td>';

                                           } else if(i > 5) {

                                               outputTo += '<td>' + value + '</td>';

                                           }

                                           i++;

                                       }

                                       outputFrom += '</tr>';

                                       outputTo += '</tr>';

                                   }

                                   outputFrom += '</tbody>';

                                   outputTo += '</tbody>';

                                   $('#from1').append(outputFrom);

                                   $('#to1').append(outputTo);

                                   result.show();

                               } else {

                                   error.show().html(data.error);

                               }

                           }                            

                       });   

                   }

               }

   </script>

   <style>

       #error0, #error1 {

           margin-top: 20px;

       }

       #result0, #result1 {

           margin-top: 20px;

       }

       #result0 div {

           display: inline-block;

           margin-left: 20px;

       }

       #result0 div span {

           font-size: 17px;

       }

       #result0 div p {

           font-weight: bold;

           font-size: 25px;

           margin-top: 5px;

       }

   </style>

 </head>

 <body>

   <div class="row">

     <div class="span5" style="margin-left: 50px">

       <h3>КонверСРѕСЂ РІР°Р»СЋС‚</h3>

       <div class="well">

         <h6>Из какоРвалюСС‹</h6>

         <select id="from">

         <?php foreach(array_keys($currencies) as $currencyKey): ?>

             <option value="<?php echo $currencyKey; ?>"><?php echo $currencies[$currencyKey]; ?></option>

         <?php endforeach; ?>

         </select>

         <h6>Ркакую</h6>

         <select id="to">

         <?php foreach(array_keys($currencies) as $currencyKey): ?>

             <option value="<?php echo $currencyKey; ?>"><?php echo $currencies[$currencyKey]; ?></option>

         <?php endforeach; ?>

         </select>

         <br/>

         <br/>

         <a class="btn" onclick="currency.get();">РџРѕРґСвердиССЊ</a>

         <div class="alert alert-error" id="error0"style="display: none;"></div>

         <img src ="front/loader.gif" id="loader0"height="50px" width="50px" style="display: none;"/>

         <div id="result0" style="display: none">

             <div><span>Число: </span><p id="date0"></p></div>

             <div><span>РљСѓСЂСЃ: </span><p id="course0"></p></div>

             <div><span>Изменения: </span><p id="changes0"></p></div>

         </div>

       </div>

     </div>

     <div class="span7">

       <h3>Расписание авиаперелеСРѕРІ РіРѕСЂРѕРґР° РўРѕРјСЃРєР°</h3>

       <div class="well">

         <h6>РџСѓРЅРєСназнаСения</h6>

         <select id="destination">

         <?php foreach(array_keys($destinations) as $destinationKey): ?>

               <option value="<?php echo $destinationKey; ?>"><?php echo $destinations[$destinationKey]; ?></option>

         <?php endforeach; ?>

         </select>

         <br>

         <a class="btn" onclick="schedule.get()">РџРѕРґСвердиССЊ</a>

         <div class="alert alert-error" id="error1"style="display: none"></div>

         <img src ="front/loader.gif" id="loader1"height="50px" width="50px" style="display: none;"/>

         <div id="result1" style="display: none">

             <h4>Из РўРѕРјСЃРєР°</h4>

             <table class="table table-bordered table-striped" id="from1">

                 <thead>

                     <tr>

                         <td>Авиакомпания</td>

                         <td>РўРёРї РРЎ</td>

                         <td>Номер СЂРµРСЃР°</td>

                         <td>Рремя РѕСправления</td>

                         <td>Рремя РїСЂРёР±ССРёСЏ</td>

                         <td>ЧасСРѕСР° РґРІРёРения</td>

                     </tr>

                 </thead>

             </table>

             <h4>РРўРѕРјСЃРє</h4>

             <table class="table table-bordered table-striped" id="to1">

                 <thead>

                     <tr>

                         <td>Авиакомпания</td>

                         <td>РўРёРї РРЎ</td>

                         <td>Номер СЂРµРСЃР°</td>

                         <td>Рремя РѕСправления</td>

                         <td>Рремя РїСЂРёР±ССРёСЏ</td>

                         <td>ЧасСРѕСР° РґРІРёРения</td>

                     </tr>

                 </thead>

             </table>

         </div>

       </div>

     </div>

   </div>

   <hr>

 </body>

</html>

ПРИЛОЖЕНИЕ Е

Содержание файла index.php

<?php

error_reporting(E_ALL);

ini_set('display_errors', '1');

$currencies = array('0' => 'РќРµ РІСбрано', '1' => 'Роллар', '2' => 'Рубль');

require_once('models/Schedule.php');

$schedule = new Schedule();

$destinations = $schedule->getDestanations();

require_once('view.phtml');

?>


 

А также другие работы, которые могут Вас заинтересовать

80736. Text linguistic 28.24 KB
  One-direction sequences can be used in dialogue, when a utterance is not a rejoinder, but a continuation the stimulating utterance addressed the same third party or to both speakers themselves, e. g. St. Erth, all money goes fellows who don’t know a horse from a haystack.- Canynge. And care less want men racing to whom a horse in something.
80738. Morphology: General Principles. Structure of English words 27.02 KB
  Lexicology- is a brunch of linguistics which study the meaning and use of words. In English as in many other languages the word is the smallest unit able to form a sentence by itself. Most words consist of meaningful parts called morphemes, accordingly all Eng. Words fall into two large classes...
80739. The Etimology of English words 26.49 KB
  Etimology study the origin of words and word equivalents. Acc. to the origin all present-day Eng. Words can be divided into two groups: native words, which have been part of the Eng. Vocabulary since the old Eng. period; borrowed words (loan words) which were taken from another lang-ge at a certain stage of Eng. history.
80741. Title as the coding unit of text 27.42 KB
  Lets begin with the units used in titles. Usually these are nouns in the niminative position in singular or plural, combined with position or without it (Mother, Devils, War and Peace) But there may be verbs used in the imperative mood (Live with Lightning), in the firm of the infinitive (to let)...
80742. Syntax and its object. The problem of sentence definition 28.07 KB
  The problem of the definition of S. remains unsolved. There exist 400 different definitions of a S. which fall into 4 main types: psychological, logical, phonetical, structural. The following definition of a S.5 that the S. is a minimal unit of communication is adopted by almost every grammarian.
80743. Paradigmatic structure of the sentence 28.45 KB
  Paradigmatic finds its expression in a system of apposition s making the corresponding meaningful (functional) categories syntactic oppositions are realized by correlated sentence patterns, the relations between which can be described as “transformations”, i.e. transitions to another partern of certain notional parts...
80744. Categorial Structure of the Word 29.65 KB
  The most general meanings rendered by L. expressed by systemic correlations of word-forms are interpreted as categorial grammatical meanings. The forms themselves are identified within definite paradigmatic series. The categorial meaning (e.g. the gram. number) unites the individual meanings of the correlated paradigmat...