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');

?>


 

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

41518. Основи групової самоорганізації 124.5 KB
  Думка щодо органічності суспільства і людини виражена шведським вченим Еммануїлом Сведенборгом 1688 1772: Існує чітка функціональна подібність між людством народом і окремим індивідом. А теоцентричний представник філософського езотеризму Володимир Олексійович Шмаков 1929 доводив виказану позицію раціональними методами: Вірно виявлена загальна ідея організму однаково застосовна до людини і суспільства але в останньому вона виявляється з більшою силою і багатоманіттям.тому і заперечення того що суспільство є організмом і повне...
41519. КОНФЛІКТИ В СИСТЕМІ УПРАВЛІННЯ ПСИХОЛОГІЧНА ПІДГОТОВКА ДО НОВОВВЕДЕНЬ 180 KB
  Поняття конфлікту. Поняття інновація та нововведення Головні передумови позитивного ставлення до нововведень 1 Поняття конфлікту. Позитивний ефект конструктивного конфлікту для окремої людини може виявлятися і в тощ' що при його вирішенні відбувається усунення внутрішнього психічного напруження і як наслідок буде знайдено вихід зі стану фрустрації. Під час аналізу конфлікту дуже важливо з'ясувати справжні причини його виникнення.
41520. ТЕОРЕТИЧНІ ОСНОВИ ПСИХОЛОГІЇ УПРАВЛІННЯ 112 KB
  Психологія управління на Заході Поняття про науку управління Поняття управління використовують у різних науках. Відповідно до трьох головних сфер розвитку об'єктивного світу нежива природа жива природа суспільство можна виокремити головні види управління: управління в неживій природі; управління в живій природі; управління у суспільстві.
41521. Особистість в системі управління 205 KB
  Теорії особистості та їх використання в управлінській практиці Активність особистості як форма вияву її індивідуальності творчості та професіоналізму Соціальна позиція та роль особистості в організації Рівень домагань особистості та їх значення в управлінських відносинах Соціальні норми як регулятори поведінки особистості 2. Теорії особистості та їх використання в управлінській практиці У процесі осмислення психологічною наукою сутності особистості особливостей її розвитку самореалізації взаємодії із зовнішнім середовищем...
41522. Характеристика обязательного курса физического воспитания в школе. Планирование и контроль процесса физического воспитания в ООШ 189 KB
  Планирование и контроль процесса физического воспитания в ООШ 6 часов Содержание Характеристика действующей программы по Физической культуре для общеобразовательных учреждений; Планирование процесса физического воспитания в школе; Система проверки успеваемости и контроль процесса физического воспитания в ООШ. Характеристика действующей программы по Физической культуре для общеобразовательных учреждений 111 классы Авторы составители: Матвеев А. Естественные основы Программа Пояснительная записка раскрывает образовательную...
41523. Физкультурно-оздоровительная работа в режиме учебного и продленного дня школьников. Физическое воспитание детей подготовительной и специальной медицинских групп 100.5 KB
  Физкультурно-оздоровительная работа в режиме учебного и продленного дня школьников Важной задачей для учителя физической культуры должна являться организация двигательного режима школьников поскольку именно дополнительные занятия физическими упражнениями обеспечивают активный отдых учащимся и удовлетворяют их естественную потребность в движениях. И если школьник дополнительно не будет заниматься физическими упражнениями и спортом это может повлечь за собой задержку в развитии его моторики. Чередование учебных занятий и активного...
41524. Физическая культура в системе воспитания студентов ПТУ, ССУЗов и ВУЗов 108.5 KB
  физическая культура в системе воспитания студентов ПТУ ССУЗов и ВУЗов 2 часа содержание 1. Значение цель и задачи физической культуры студентов 2. Значение цель и задачи физической культуры студентов Физическая культура студентов представляет собой неразрывную составную часть высшего гуманитарного образования. Содержание физической культуры студентов стратегия приоритетных направлений в её развитии подвержены активному влиянию социальноэкономических факторов Государственная политика в области высшего образования определяет социальный...
41525. Физическая культура в системе научной организации труда расширенного отдыха и восстановления работоспособности людей молодого и зрелого возраста 66 KB
  Роль физической культуры и спорта в формировании здорового образа жизни населения Мировые тенденции развития физической культуры Состояние человеческого ресурса в России и необходимость повышения социальной роли физической культуры и спорта Уровень развития массовой физической культуры России.
41526. Особенности направленного использования средств физической культуры в жизни людей пожилого и старшего возраста 84 KB
  Особенности направленного использования средств физической культуры в жизни людей пожилого и старшего возраста Содержание 1. Оздоровительная физическая культура в практике физического воспитания Оздоровительный и профилактический эффект массовой физической культуры неразрывно связан с повышенной физической активностью усилением функций опорнодвигательного аппарата активизацией обмена веществ. По последним данным в настоящее время только 20 населения экономически развитых стран занимаются достаточно интенсивной физической тренировкой...