Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Разработка сайта кинотеатра «Правда»

Содержание:

Введение

Интернет оказывает сильное влияние на формирование и развитие мирового информационного сообщества. Как социальное явление Интернет - глобальное средство коммуникаций, обеспечивающее обмен текстовой, графической, аудио- и видеоинформацией и доступ к онлайновым службам без территориальных и национальных границ. Это эффективный инструмент исследований, развития торговли и бизнеса, воздействия на аудиторию. Технологические возможности Интернет, обуславливает быстрое развитие мирового информационного сообщества.
World Wide Web – глобальная компьютерная сеть на сегодняшний день содержит миллионы сайтов, на которых размещена всевозможная информация. Люди получают доступ к этой информации посредством использования технологии Internet. Вся информация в Web-браузере отображается в виде Web-страниц, которые предназначены поддерживать технологию мультимедиа, объединять в себе различные виды информации: текст, графику, звук, анимацию и видео.
Существует несколько сайтов, посвященных городским кинотеатрам, но строятся новые кинотеатры и к ним нужно привлечь как можно больше внимания со стороны любителей кино. В этом случае достойным решением будет создание сайта, который позволит сообщить зрителям о своих премьерах, а так же оповещать посетителей о новых возможностях кинотеатра.

1. Техническое задание и выбор средств реализации

1.1Техническое задание

В качестве предметной области для создания web-приложения выступает кинотеатр Правда, для которого необходимо разработать информационную систему по отображению информации о проводимых сеансах показов фильмов, а также показывающую общую информацию о кинотеатре.

На сайте кинотеатра необходимо представить информацию о фильмах, которые демонстрируются или будут демонстрироваться в залах кинотеатра в ближайшее время.

За наполнение сайта необходимой информацией отвечает администратор, в обязанности которого входит:

  • слежение за актуальностью информации, хранимой в справочниках системы;
  • заполнение информации о новых фильмах, выходящих в прокат;
  • установка и наполнение сеансов в кинозале.

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

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

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

Возможные варианты использования и способы доступа на сайт и доступные функции для каждого из пользователей показаны на схеме (Рисунок 1.1).

Рисунок 1.1 – Схема вариантов использования

Кроме ведения и показа справочной информации на сайте необходимо предусмотреть информационные страницы с описанием деятельности кинотеатра и контактной информацией для связи с сотрудниками.

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

Проект должен соответствовать современным требованиям, и использовать в своей реализации последние наработки и достижения в области сайт строения. Готовое решение должно поддерживаться мобильными устройствами и нормально отображаться на них и быть полностью читабельным и иметь хорошую стабильность на любых устройствах. Что предъявляет требования адаптивности к дизайну системы.

1.2 Средства реализации

1.2.1 OpenServer

Open Server Panel — это портативная серверная платформа и программная среда, созданная специально для веб-разработчиков с учётом их рекомендаций и пожеланий.

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

Хотя изначально программные продукты, входящие в состав комплекса, не разрабатывались специально для работы друг с другом, такая связка стала весьма популярной среди пользователей Windows, в первую очередь из-за того, что они получали бесплатный комплекс программ с надежностью на уровне Linux серверов.

Выбор именно этой серверной платформы, обосновывается тем, что Open Server позволят создать локальный сервер, для разработки сайта. Так же, не мало важным преимуществом будет то, что в нем присутствует phpMyAdmin, где можно развернуть sql базы данных.

1.2.2 NotePad++

NotePad++ - это универсальный редактор текстовых файлов, который способен распознавать синтаксисы большого числа языков программирования. Базовый функционал расширяют плагины, а также сторонние модули, представленные компиляторами и препроцессорами.

1.2.3 HTML5

HTML5 (англ. HyperText Markup Language, version 5) — язык для структурирования и представления содержимого всемирной паутины. Это пятая версия HTML. Хотя стандарт был завершён (рекомендованная версия к использованию) только в 2014 году (предыдущая, четвёртая, версия опубликована в 1999 году), ещё с 2013 года браузерами оперативно осуществлялась поддержка, а разработчиками — использование рабочего стандарта (англ. HTML Living Standard). Цель разработки HTML5 — улучшение уровня поддержки мультимедиа-технологий с одновременным сохранением обратной совместимости, удобочитаемости кода для человека и простоты анализа для парсеров.

Во всемирной паутине долгое время использовались стандарты HTML 4.01, XHTML 1.0 и XHTML 1.1. Веб-страницы на практике оказывались свёрстаны с использованием смеси особенностей, представленных различными спецификациями, включая спецификации программных продуктов, например, веб-браузеров, а также сложившихся общеупотребительных приёмов. HTML5 был создан как единый язык разметки, который мог бы сочетать синтаксические нормы HTML и XHTML. Он расширяет, улучшает и рационализирует разметку документов, а также добавляет единый API для сложных веб-приложений.

1.2.4 CSS

CSS —язык, отвечающий за описание внешнего вида HTML-документа. Переводится как Каскадная таблица стилей. Каскадные таблицы стилей описывают правила форматирования элементов с помощью свойств и допустимых значений этих свойств. Для каждого элемента можно использовать ограниченный набор свойств, остальные свойства не будут оказывать на него никакого влияния.

Язык позволяет прикреплять стиль (например, шрифты и цвет) к структурированным документам достаточно много современных веб-сайтов работают в связке HTML+CSS.

CSS упрощает создание веб-страниц и обслуживание сайтов, определяя стиль представления документов от содержимого документов.

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

Хотя приведенный пример пытается влиять только на пару свойств, необходимых для рендеринга HTML-документа, он сам по себе квалифицируется как таблица стилей. В сочетании с другими таблицами стилей (одна фундаментальная особенность CSS заключается в том, что таблицы стилей объединяются), правило будет определять окончательное представление документа.

1.2.5 JavaScript

JavaScript (JS для краткости) является языком программирования, который позволяет веб-страницам отвечать на действия пользователя дальше базового уровня. Он был создан в начале 90-х фирмой Netscape, браузер которой Netscape Navigator в те времена был наиболее популярным средством для просмотра веб-сайтов. Название javascript наводит на мысли о связи с языком java, который также может использоваться в веб-программировании, и, действительно, javascript разрабатывался во многом с опорой на язык Java, но следует всё же помнить, что это совершенно разные языки. Скрипты, написанные на javascript, выполняются на стороне клиента (т. е. на компьютере пользователя), и не просто на стороне клиента, а в самом браузере, поэтому не требуется никаких дополнительных программ, никаких плагинов и т. п., скрипт можно просто вставить в html-код страницы, и он будет выполняться в любом браузере. Javascript - простой и удобный язык, позволяющий легко управлять содержимым веб-страницы, отслеживая самые различные действия пользователя, и реагируя на это. Благодаря этому, javascript практически не имеет конкурентов в своей области применения и является первым языком, изучение которого нужно начинать веб-разработчику.

1.2.6 MySQL

MySQL – это одна из самых популярных и получивших широкое распространенние СУБД (система управления базами данных) для интернета ресурсов. Данная система не предназначена для обеспечения обработки больших объемов информации, но ее использование идеально в сфере интернет-сайтов, как не очень небольших, так и весьма крупных ресурсах.

MySQL выделяется прекрасной скоростью работы, он надежен и гибок. Работа с ним, в основном, не вызывает каких-либо затруднений. Что немаловажно – автоматическая поддержка сервера MySQL присутствует в поставке PHP.

1.2.7 PHP

PHP (рекурсивный акроним словосочетания PHP: Hypertext Preprocessor) – это распространенный язык программирования общего назначения с открытым исходным кодом. PHP специально сконструирован для веб-разработок и его код может внедряться непосредственно в HTML и наоборот, HTML теги легко добавляются к скриптам, написанным на PHP.

PHP отличается от JavaScript тем, что PHP-скрипты выполняются на сервере и генерируют HTML, который посылается клиенту.

В настоящее время PHP широко применяется не только для непосредственного создания динамических сайтов, но и для написания инструментов и средств web-разработки. На данном языке создано большое количество всевозможных фреймворков и готовых систем управления контентом (всевозможных CMS и CMR).

2. Описание модулей серверной части программы и их взаимодействие

Реализация сайта требует разработки общей структуры сайта, определяющей, что, где и на каких страницах будет расположено.

Рисунок 2.1 – Структурная схема сайта

Каждый ресурс Интернета содержит несколько тематических рубрик, соединенных между собой гиперсвязями. Как правило, ссылки на все разделы сайта с краткими анонсами их содержимого приводится на первой, так называемой стартовой странице, которой присваивается имя index.htm (.html) или как в нашем случае index.php, так как основой создания сайта служит язык php. Если тематические рубрики содержат собственные подразделы, каждая из них также имеет свою стартовую страницу, называющуюся index.html.

Логическая структура сайта – это подобный набор тематических рубрик с распределенными по соответствующим разделам документами и заранее спро­ектированными гиперсвязями между всеми страницами ресурса.

Структурная схема сайта показана на рисунке (Рисунок 3.1).

Каждая страница ресурса представлена отдельным php модулем.

Так главная страница – модуль index.php[1] показана на рисунке (Рисунок 3.1). Страница «О Кинотеатре» - модуль aboutus.php.

Рисунок 2.2 – Главная страница сайта

Несмотря на различное назначение и наполнение разных страниц и используемых для их формирования модулей, каждая из них содержит заголовок, меню и подвал сайта.

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

Так модуль showMenu.php[2] – используется для показа меню системы, модуль header.php[3] – для вывода заголовка сайта, footer.php[4] – для отображения подвала.

Для контроля пользовательского входа в систему применяется механизм сессий.

Для отслеживания авторизации пользователей и их прав в системе используется механизм сессий. Сессии в PHP представляют из себя механизм сохранения на стороне сервера информации о компьютере клиента.

Сессии – это группы переменных, которые хранятся на сервере, но относятся к одному уникальному посетителю. Повторю, это ключевой момент: сессии хранятся на сервере.

Для того, чтобы обеспечить взаимодействие каждого посетителя с его данными из его сессии используется файл cookie, команду создать который PHP даёт сам, вам об это беспокоится не нужно. Этот cookie имеет значение только для сервера и не может быть использован для получения данных о пользователе.

На сервере данные сессии хранятся в текстовом файле, и они доступны в программе PHP в массиве $_SESSION. Чтобы сохранить переменную в сессии нужно присвоить ей значение в этом массиве.

Для проверки был ли осуществлен вход пользователя в систему и с какими правами создан модуль chkSession.php, вызываемый перед началом обработки каждого скрипта или вывода страницы сайта.

В данном модуле содержится следующий код:

session_start();

$id_us = 0;

$usRole = 0;

$usName = "";

if(isset($_SESSION["id_us"]))

$id_us = (int)$_SESSION["id_us"];

if(isset($_SESSION["usRole"]))

$usRole = (int)$_SESSION["usRole"];

if(isset($_SESSION["usName"]))

$usName = $_SESSION["usName"];

Здесь переменные $id_us, $usRole, $usName используются для получения информации о коде пользователя, его имени и правах входа. Если переменная $id_us после проверки равна 0 – значит пользователя в системе не зарегистрировано.

Если $id_us > 0 и $гsRole>0 значит в систему вошел администратор, если при не нулевом $id_us значение $usRole равно 0 – в настоящее время работу с сайтом осуществляет рядовой пользователь.

В зависимости от значений данных переменных система будет выдавать ту или иную информацию, откроет или наоборот запретит доступ к определенным пунктам меню системы.

Также для организации связи с базой данных и получения или добавления в нее информации необходимо установить соединение с сервером базы данных. Связь с базой данных устанавливается при помощи определенных параметров, характеризующих соединение. Для упрощения и параметризации организации связи с базой данных системы подготовим модуль ini.php, в котором определим параметры конфигурации соединения. Исходный код данного модуля:

<?php

// авторизация роли

const USER = 0;

const ADMIN = 1;

// база данных, соединение

const DB_NAME = "kino_pravda";

const DB_USER = "root";

const DB_HOST = "127.0.0.1";

const DB_PASS = ""

?>

3.Описание структуры базы данных и ее функций.

После проработки структуры сайта и разработаем базу данных системы. Сначала необходимо подготовить инфологическую модель базы данных.

Инфологическая модель предметной области представляет собой описание структуры и динамики предметной области, характера информационных потребностей пользователей в терминах, понятных пользователю и не зависимых от реализации БД. Это описание выражается в терминах не отдельных объектов предметной области и связей между ними, а их типов, связанных с ними ограничений целостности и тех процессов, которые приводят к переходу предметной области из одного состояния в другое.

Описание каждой сущности производится при помощи данных, называемых атрибутами или свойствами сущности. Атрибуты, как правило, представляют собой определения в высказывании о сущности и для их обозначения, используют имена существительные естественного языка. Сущности имеют связи друг с другом при посредстве включенных в них атрибутов. Каждое объединение атрибутов, составляющих описание одного реального проявления сущности, представляет из себя экземпляр сущности. Прочими словами, экземпляры сущности – это ее реализации, которые отличаются друг от друга и допускают однозначную идентификацию.

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

Одним из главных компьютерных способов распознавания сущностей в базе данных является присвоение сущностям идентификаторов. Идентификатор сущности также называется ключом.

Построим описание атрибутов сущностей разрабатываемой системы.

Описание сущности Жанр (Таблица 3.1).

Таблица 3.1 – Атрибуты сущности Жанр

Атрибут

Ключ

Значение

Домен

Код жанра

+

Идентификатор записи

Число

Наименование

Наименование жанра

Текст

Описание сущности Производство (Таблица 3.2).

Таблица 3.2 – Атрибуты сущности Производство

Атрибут

Ключ

Значение

Домен

Код производства

+

Идентификатор записи

Число

Наименование

Наименование производителя фильма

Текст

Описание сущности Фильм (Таблица 3.3).

Таблица 3.3 – Атрибуты сущности Фильм

Атрибут

Ключ

Значение

Домен

Код фильма

+

Идентификатор записи

Число

Название

Наименование фильма

Текст

Год выпуска

Год производства

Число

Анонс

Краткий анонс, описание произведения

Текст

Режиссер

Режиссер фильма

Текст

Актеры

Актерский состав

Текст

Продолжительность

Продолжительность в минутах

Число

Возраст

Возрастные ограничения

Текст

Обложка

Имя файла с обложкой

Текст

Код жанра

Жанр, к которому относится

Число

Код производства

Производитель фильма

Число

Описание сущности Пользователь (Таблица 3.4).

Таблица 3.4 – Атрибуты сущности Пользователь

Атрибут

Ключ

Значение

Домен

Код пользователя

+

Идентификатор записи

Число

E-Mail

e-mail пользователя

Текст

Пароль

Пароль для входа в систему

Текст

Роль

Роль пользователя

Число

Имя

Имя пользователя

Текст

Описание сущности Сеансы (Таблица 3.5).

Таблица 3.5 – Атрибуты сущности Сеансы

Атрибут

Ключ

Значение

Домен

Код записи

+

Идентификатор записи

Число

Дата/время

Дата, время трансляции

Датавремя

Код фильма

Фильм, показываемый во время сеанса

Число

Описание сущности Посещение (Таблица 3.6).

Таблица 3.6 – Атрибуты сущности Посещение

Атрибут

Ключ

Значение

Домен

Код пользователя

+

Пользователь, посетивший сеанс

Число

Код записи

Сеанс, на котором присутствовал пользователь

Число

Код типа

Тип выкупленного места

Число

Билет

Номер места

Число

Стоимость

Стоимость билета

Число

Описание сущности Типы мест (Таблица 3.7).

Таблица 3.7 – Атрибуты сущности Типы мест

Атрибут

Ключ

Значение

Домен

Код типа

+

Идентификатор записи

Число

Ряд

Название ряда

Текст

К-во мест

Количество мест в ряду

Число

Цена

Стоимость билета для данного типа

Число

На основе построенных описаний сущностей и их атрибутов построим инфологическую схему базы данных, представленную далее (Рисунок 3.1).

Рисунок 3.1 – Инфологическая схема база данных

Согласно подготовленной концептуальной схемы, построим физическую реализацию базы данных.

Физическое представление схемы базы данных приведено далее (Рисунок 3.2).

Рисунок 3.2 – Физическая схема базы данных

Для доступа и управления данными в программном комплексе системы кинотеатра «Правда», на уровне бизнес-логики приложения используются хранимые процедуры MySQL.

При помощи данных процедур организовывается управление данными, добавление записей в таблицы, удаление записей, проведение комплексных изменений в нескольких таблицах системы путем использования транзакций.

Приведем пример кода для процедуры afishaSel:

CREATE DEFINER = 'root'@'%'

PROCEDURE kino_pravda.afishaSel(IN _snDate date)

BEGIN

SELECT

seance.id_sn,

seance.snDate,

seance.id_fl,

films.flName,

films.flYear,

films.flNotes,

films.flRegisser,

films.flActors,

films.flTime,

films.flAge,

films.id_gr,

genree.grName,

films.id_pr,

produced.prName,

films.flCover

FROM seance

INNER JOIN films

ON seance.id_fl = films.id_fl

INNER JOIN genree

ON films.id_gr = genree.id_gr

INNER JOIN produced

ON films.id_pr = produced.id_pr

WHERE date (snDate) = _snDate

ORDER BY snDate;

END

Данная процедура используется для получения информации о демонстрации фильмов на определенную дату.

4. Описание структуры клиентской части.

4.1 Описание интерфейса «Обычный пользователь».

Начало работы начинается с главной страницы сайта (Рисунок 4.1). Для

Рисунок 4.1 – Главная страница сайта

Для получения доступа к функционалу пользователя, необходимо воспользоваться кнопкой вход, которая направит пользователя на форму запроса данных для входа в систему, после использования которой меню системы примет вид (Рисунок 4.2).

Рисунок 4.2 – Меню обычного пользователя

Появившийся новый пункт меню История служит для просмотра истории посещений кинотеатра пользователем. Для завершения работы необходимо использовать кнопку Выход.

4.2 Описание интерфейса «Администратор».

Если воспользоваться входом в систему под аккаунтом администратора меню системы кинотеатра примет следующий вид (Рисунок 4.3).

Рисунок 4.3 – Меню администратора

В данном виде меню появится пункт Управление. При помощи данного пункта администратор системы имеет возможность вносить изменения в справочники системы, регистрировать новые фильмы, назначать показы сеансов.

Рисунок 4.4 – Меню управления информационной системой

Данный пункт имеет вид выпадающего списка (Рисунок 4.4).

Пример работы со справочником Жанров приведен на рисунке (Рисунок 4.5).

Рисунок 4.5 – Справочник жанров

Кнопка Добавить осуществляет переход на форму запроса и добавления новой информации в справочник жанров (Рисунок 4.6).

Рисунок 4.6 – Форма добавления нового жанра

Кнопка Удалить, удаляет из справочника информацию о жанре, в одной строке с которым расположены.

Подобным образом построена работа с прочими справочниками системы.

4.3 Инструкция пользователя.

Для перемещения и управления функционалом необходимо использовать систему меню информационной системы (Рисунок 4.7).

Рисунок 4.7 – Меню информационной системы кинотеатра

Для входа в систему служит кнопка вход, для регистрации – Регистрация. По кнопке регистрация происходит переход на форму регистрации в системе (Рисунок 4.8).

Рисунок 4.8 – Форма регистрации

Для зарегистрированных пользователей доступна возможность покупки билетов на проводимые сеансы, для заказа билета необходимо перейти на страницу Афиша (Рисунок 4.9).

Рисунок 4.9 – Афиша кинотеатра

На данной странице нужно выбрать интересующую дату для посещения кинотеатра и нажать кнопку Сеансы, система покажет фильмы, демонстрируемые в этот день. По умолчанию выводится список фильмов, показываемых на текущий день.

Для приобретения билета на сеанс необходимо воспользоваться кнопкой Купить билет, располагаемой под изображением с афишей фильма (Рисунок 4.10).

Рисунок 4.10 – Покупка билетов

ЗАКЛЮЧЕНИЕ

В ходе выполнения данной работы были решены следующие задачи

  • дано общее описание автоматизируемого объекта;
  • построена модель базы данных;
  • спроектировано и реализовано приложение для работы и управления созданной базой данных с применением web-технологий.

В процессе выполнения работы была создана база данных, с применением среды MySQL. Реализация проекта велась с применением языков CSS, HTML, PHP, а также м использованием языка SQL запросов для обращения и изменения информации в связанной базе данных системы.

Результатом работы явилось достижение целей:

  • закрепление теоретического материала по дисциплинам, связанных с изучением баз данных;
  • практические навыки создания web-ресурса с применением языка программирования PHP.

Разработана информационная система кинотеатра «Правда». Система создана с применением современных средств и технологий, имеет адаптивный дизайн, проверена и протестирована для отображения на сайте.

Литература

  1. Алан Купер, Дэйв Кронин, Кристофер Носсел, Роберт Рейман. Алан Купер об интерфейсе. Основы проектирования взаимодействия. Символ, Санкт-Петербург, 2015
  2. Мазуркевич, А. PHP: настольная книга программиста / А. Мазуркевич. - М.: Новое знание, 2003. - 480 с.
  3. Мейер, Б. Инструменты, алгоритмы и структуры данных / Б. Мейер. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016.
  4. Прохоренок, Н. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / Н. Прохоренок. - СПб.: БХВ - Петербург., 2010. - 900 с.
  5. Савельева, Н.В. Язык программирования PHP / Н.В. Савельева. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
  6. Богданов, М.Р. Перспективные языки веб-разработки / М.Р. Богданов. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
  7. Вадим Дунаев. HTML, скрипты и стили. BHV, Санкт-Петербург, 2015. ISBN 978-5-9775-3317-1.
  8. Гущин А.Н. Базы данных: учебник. - М.: Директ-Медиа, 2014. - 266с.
  9. Никсон, Р. Создаем динамические web-сайты с помощью PHP, MySQL и JavaScript / Р. Никсон. - П.: Питер, 2011. - 496 с.
  10. Парк, Д. PHP и MySQL. Библия программиста / Д. Парк, С. Суэринг. - Диалектика, 2010. - 912 с.
  11. Томсон, Л. Разработка Web-приложений на РНР и MySQL/ Л. Томсон. - М.: ДиаСофтЮП, 2003. - 672 с.
  12. Харрис, Э. PHP/MySQL для начинающих / Э. Харрис. - М.: Кудиц - образ, 2005.
  13. http://biblioclub.ru/index.php?page=book&id=428953
  14. PHP, SQL [Electronic resource] / блог. - Россия, 2010.: http://phpsql.ru/.
  15. PHPForum [Электронный ресурс] /форум.- Россия, 2003. - Режим доступа: http://phpforum.ru. - Дата доступа: 09.02.2012.

Приложение

Index.php

<?php

include_once ("chkSession.php");

include_once ("header.php");

include_once ("showMenu.php");

?>

<div class="jumbotron">

<h4>В фойе работает новый аттракцион.</h4>

<img src="img/oazis.jpg" alt="" class="img-fluid">

<hr class="my-4">

<p class="lead">

<a class="btn btn-primary btn-lg" href="oasis.php" role="button">Подробнее</a>

</p>

</div>

<?php

include_once ("footer.php");

?>

header.php

<!DOCTYPE html>

<html lang="ru">

<head>

<title>Кинотеатр &laquo;Правда&raquo;</title>

<!-- подключить Bootstrap -->

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

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">

<!-- Подключить стили-->

<link rel="stylesheet" href="css/kino.css">

<script src="js/kino.js"></script>

</head>

<body>

<div class="container">

<div class="headphones bg-white">

<div class="row">

<div class="col-md-3 col-sm-6 text-sm-center text-md-left">

<img src="img/logos.png" alt="" class="img-fluid pt-3">

</div>

<div class="col-md-3 mt-auto mb-auto text-md-center col-sm-6 text-sm-center">

<span class="align-middle">

<!-- Button trigger modal -->

<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">

Схема зала

</button>

</span>

</div>

<div class="col-md-3 text-md-right col-sm-6 text-sm-center mb-auto mt-auto align-middle">

<span class="notes">Время работы:</span><br>

<i class="far fa-clock"></i>

<span class="information">Пн-Вс: 9:00-23:00</span><br>

<span class="notes">Наш адрес:</span><br>

<i class="fas fa-map-marker-alt"></i>

<span class="information">ул. Люсиновская улица, 57</span>

</div>

<div class="col-md-3 mt-auto mb-auto col-sm-6 text-md-right text-sm-center align-middle">

<span class="notes">Касса:</span><br>

<i class="fas fa-phone-volume"></i>

<span class="information">8 495 125-85-20</span><br>

<span class="notes">Администратор:</span><br>

<i class="fas fa-phone-volume"></i>

<span class="information">8 495 125-85-19</span><br>

</div>

</div>

</div>

<!-- Modal -->

<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">

<div class="modal-dialog modal-dialog-centered modal-lg" role="document">

<div class="modal-content">

<div class="modal-header">

<h5 class="modal-title" id="exampleModalLongTitle">Схема зрительного зала</h5>

<button type="button" class="close" data-dismiss="modal" aria-label="Close">

<span aria-hidden="true">&times;</span>

</button>

</div>

<div class="modal-body">

<img src="img/shema-kinoteatra.jpg" alt="" class="img-fluid">

</div>

<div class="modal-footer">

<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>

</div>

</div>

</div>

</div>

showMenu.php

<header class="bg-secondary">

<nav class="navbar navbar-expand-md navbar-dark bg-dark sticky-top">

<!-- Brand -->

<!-- <a class="navbar-brand" href="index.php">-->

<!-- <img src="img/logos.png" alt="logo" class="img-fluid" width="50">-->

<!-- </a>-->

<!-- Toggler/collapsibe Button -->

<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">

<span class="navbar-toggler-icon"></span>

</button>

<!-- Navbar links -->

<div class="collapse navbar-collapse" id="collapsibleNavbar">

<ul class="navbar-nav main-menu">

<li class="nav-item">

<a class="nav-link" href="index.php">Главная</a>

</li>

<li class="nav-item">

<a class="nav-link" href="afisha.php">Афиша</a>

</li>

<li class="nav-item">

<a class="nav-link" href="aboutus.php">О&nbsp;Кинотеатре</a>

</li>

<?php

if($id_us>0 && $usRole==0) {

?>

<li class="nav-item">

<a class="nav-link" href="history.php">История</a>

</li>

<?php

}

?>

<?php

if($usRole > 0) {

?>

<!-- Dropdown -->

<li class="nav-item dropdown">

<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">

Управление

</a>

<div class="dropdown-menu">

<a class="dropdown-item" href="genree.php">Жанры</a>

<a class="dropdown-item" href="producer.php">Производители</a>

<div class="dropdown-divider"></div>

<a class="dropdown-item" href="placeType.php">Посадочные места</a>

<div class="dropdown-divider"></div>

<a class="dropdown-item" href="films.php">Фильмы</a>

<a class="dropdown-item" href="seance.php">Сеансы</a>

</div>

</li>

<?php

}

?>

</ul>

<ul class="navbar-nav ml-auto admin-menu">

<?php

if($id_us == 0) {

?>

<li class="nav-item">

<form class="form-inline" action="register.php" method="get">

<button class="btn btn-outline-warning">Регистрация</button>

</form>

</li>

<li class="nav-item ml-1">

<form class="form-inline" action="enter.php" method="get">

<button class="btn btn-success">Вход</button>

</form>

</li>

<?php

}

else {

?>

<li class="nav-item">

<form class="form-inline" action="exit.php">

<button class="btn btn-danger" type="submit">Выход</button>

</form>

</li>

<?php

}

?>

</div>

</ul>

</nav>

</header>

footer.php

<footer class="bg-dark">

<div class="row">

<div class="col-md-6">

<p><strong>Адрес:</strong></p>

<p>

<span>115093, г. Москва </span><br>

<span>ул. Люсиновская улица, 57 </span>

</p>

</div>

<div class="col-md-6">

<p><strong>Контакты</strong></p>

<p>

<span><em>E-Mail:</em> pravda@kino.ru</span><br>

<span><em>Касса:</em> 8 495 125-85-20</span><br>

<span><em>Администратор:</em> 8 495 125-85-19</span>

</p>

</div>

</div>

</footer>

  1. Модуль index.php модель приложен в приложении.

  2. Модуль showMenu.php модель приложен в приложении.

  3. Модуль header.php модель приложен в приложении.

  4. Модуль footer.php модель приложен в приложении.