![](/stc/img/evkova.png)
Разработка сайта кинотеатра “Ержан”
Содержание:
ВВЕДЕНИЕ
Темой исследования является сайт кинотеатра “Ержан”, в данный момент существует большая конкуренция среди различных кинотеатров, которые предоставляют информацию по товарам и услугам. Чтобы создавать конкуренцию, нужно уметь активно и грамотно продвигать свои услуги. С появлением интернета это стало сделать намного проще, ведь в данный момент интернетом пользуется большая часть населения планеты. Создание сайта кинотеатра и его продвижение в интернете, поможет привлечь новых клиентов, будущих посетителей кинотеатра, сделав кинотеатр более конкурентно-способным. Достоинствами разработки будет считаться грамотное оформление сайта, позволяющее посетителю увидеть нужную информацию о фильме, а так же купить билет онлайн с помощью удобного интерфейса
Объектом исследования является: WEB-программирование.
Предметом исследования является: разработка сайта кинотеатра.
Цель данной работы заключается в проектировании и разработке сайта кинотеатра “Ержан”.
Для достижения цели, будут решены следующие поставленные задачи:
Выбор технологии для создания сайта.
Разработка требований к сайту.
Описание хода разработки сайта.
Техническое задание и выбор средств реализации
На сайте будут реализованы следующие разделы сайта:
Авторизация для администратора – реализована на отдельной странице
Логин
Пароль
О нас – информация о кинотеатре
Фильмы – список в формате:
Описание фильма
Постер фильма
Дата начала проката
Поиск по сайту – форма поиска
Главная страница – новинки кино, баннер с призывом купить билет
Для создания внешнего интерфейса веб-сайта применяется язык гипертекстовой разметки HTML5. Для создания дизайна страниц веб-сайта, используются таблицы каскадных стилей CSS3. Для осуществления интерактивности во взаимодействии веб-сайта с пользователем, применяется язык программирования JavaScript. Для взаимодействия сайта с сервером будет использоваться PHP. Для работ работы с базой данных будет использоваться язык SQL.
Рассмотрим каждую технологию подробнее.
HTML5 (англ. HyperText Markup Language) — язык для структурирования и представления содержимого всемирной паутины. Это пятая версия HTML. Хотя стандарт был завершён (рекомендованная версия к использованию) только в 2014 году (предыдущая, четвёртая, версия опубликована в 1999 году), уже с 2013 года браузерами оперативно осуществлялась поддержка, а разработчиками — использование рабочего стандарта (англ. HTML Living Standard). Цель разработки HTML5 — улучшение уровня поддержки мультимедиа-технологий с одновременным сохранением обратной совместимости, удобочитаемости кода для человека и простоты анализа для парсеров.
Во всемирной паутине долгое время использовались стандарты HTML 4.01, XHTML 1.0 и XHTML 1.1. Веб-страницы на практике оказывались свёрстаны с использованием смеси особенностей, представленных различными спецификациями, включая спецификации программных продуктов, например, веб-браузеров, а также сложившихся общеупотребительных приёмов. HTML5 был создан как единый язык разметки, который мог бы сочетать синтаксические нормы HTML и XHTML. Он расширяет, улучшает и рационализирует разметку документов, а также добавляет единый API для сложных веб-приложений.
В HTML5 реализовано множество новых синтаксических особенностей. Например, элементы <video>, <audio> и <canvas>, а также возможность использования SVG и математических формул. Эти новшества разработаны для упрощения создания и управления графическими и мультимедийными объектами в сети без необходимости использования сторонних API и плагинов. Другие новые элементы, такие как <section>, <article>, <header> и <nav>, разработаны для того, чтобы обогащать семантическое содержимое документа (страницы). Новые атрибуты были введены с той же целью, хотя ряд элементов и атрибутов был удалён. Некоторые элементы, например, <a>, <menu> и <cite>, были изменены, переопределены или стандартизированы. API и DOM стали основными частями спецификации HTML5.
HTML5 также определяет некоторые особенности обработки ошибок вёрстки, поэтому синтаксические ошибки должны рассматриваться одинаково всеми совместимыми браузерами.
CSS3 (англ. Cascading Style Sheets — каскадные таблицы стилей) — формальный язык описания внешнего вида документа, написанного с использованием языка разметки.
Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML, но может также применяться к любым XML-документам, например, к SVG или XUL.
CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц. Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля.
JavaScript - мультипарадигменный язык программирования. Поддерживает объектно-ориентированный, императивный и функциональный стили. Является реализацией языка ECMAScript (стандарт ECMA-262).
JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.
На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке.
Название «JavaScript» является зарегистрированным товарным знаком компании Oracle Corporation в США.
PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных веб-страниц») — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.
Язык и его интерпретатор (Zend Engine) разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств и дополнительных модулей для разработки веб-приложений. Основные из них:
- Автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
- Взаимодействие с большим количеством различных систем управления базами данных через дополнительные модули (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO), Redis;
- Автоматизированная отправка HTTP-заголовков;
- Работа с HTTP-авторизацией;
- Работа с cookies и сессиями;
- Работа с локальными и удалёнными файлами, сокетами;
- Обработка файлов, загружаемых на сервер;
- Работа с XForms.
SQL (англ. structured query language — «язык структурированных запросов») — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.
Является прежде всего информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL считается языком программирования, в общем случае (без ряда современных расширений) не является тьюринг-полным, но вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.
Изначально SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:
- Создание в базе данных новой таблицы;
- Обавление в таблицу новых записей;
- Изменение записей;
- Удаление записей;
- Выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);
- Изменение структур таблиц.
Со временем SQL усложнился — обогатился новыми конструкциями, обеспечил возможность описания и управления новыми хранимыми объектами (например, индексы, представления, триггеры и хранимые процедуры) — и стал приобретать черты, свойственные языкам программирования.
При всех своих изменениях SQL остаётся самым распространённым лингвистическим средством для взаимодействия прикладного программного обеспечения с базами данных. В то же время современные СУБД, а также информационные системы, использующие СУБД, предоставляют пользователю развитые средства визуального построения запросов.
- Описание модулей серверной части программы и их взаимодействие
Рисунок 2.1 - Рисунок структуры серверной части приложения
Таблица 2.3 – Таблица с описанием программных модулей
Наименование модуля |
Функции модуля |
---|---|
Модуль глобальный |
Содержит глобальные функции для корректной работы сайта кинотеатра |
Модуль фильмов |
Выводит пользователю список фильмов |
Модуль пользователя |
Перейдя на страницу авторизации администратора, заполнив поля формы “Логин” и “Пароль” после чего нужно нажать на кнопку «Вход» если данные введены верно, то выводит интерфейс администратора сайта. |
Модуль отзывов |
Вывод всех отзывов, оставленных другими пользователями на сайте, в котором содержатся “Имя”, “Email” и “Текст” отзыва. Заполнив поля формы “Имя”, “Текст”, и нажав на кнопку «Отправить» можно опубликовать отзыв на сайте. Нажав на «Красный крестик» возле отзыва можно удалить конкретный отзыв с сайта, такая функция доступна только если авторизоваться под администратором сайта. |
3. Описание структуры базы данных и ее функций
Рисунок 3.1 – Рисунок структуры базы данных
Запросы к каталогу
Выборка фильма по id
public static function getOneFilm($id) {
$db = ConnectDb::getConnection();
$result = $db->query('SELECT * FROM news WHERE id=' . $id);
return $result->fetch(PDO::FETCH_ASSOC);
}
Вывод всех фильмов с сортировкой по id
public static function getFilms() {
$db = ConnectDb::getConnection();
$result = $db->query('SELECT * FROM news ORDER BY id DESC');
return $result->fetchAll(PDO::FETCH_ASSOC);
}
Добавление фильма
public static function addFilms($title, $text, $date) {
$db = ConnectDb::getConnection();
$image = $_FILES['image']['name'];
$tmpName = $_FILES['image']['tmp_name'];
move_uploaded_file($tmpName, 'web/images/' . $image);
$sql = "INSERT INTO films(title, image, information) VALUES (:title, :image, :information)";
$statement = $db->prepare($sql);
$statement->bindParam(':title', $title);
$statement->bindParam(':image', $image);
$statement->bindParam(':information', $information);
$statement->execute();
header('Location: /films');
}
Удаление фильма по id
public static function deleteFilms($id) {
$db = ConnectDb::getConnection();
$statement = $db->query('DELETE FROM films WHERE id=' . $id);
$statement->execute();
header('Location: /films');
}
Выборка фильмов по id категории
public static function getCategoryFilms($category) {
$db = ConnectDb::getConnection();
$result = $db->query("SELECT * FROM films WHERE category_id = $category");
return $result->fetchAll(PDO::FETCH_ASSOC);
}
Запросы к отзывам
Вывод всех отзывов с сортировкой по id
public static function getReviews() {
$db = ConnectDb::getConnection();
$result = $db->query('SELECT * FROM reviews ORDER BY id DESC');
return $result->fetchAll(PDO::FETCH_ASSOC);
}
Выборка отзыва по id
public static function getReview($id) {
$db = ConnectDb::getConnection();
$result = $db->query('SELECT * FROM reviews WHERE id=' . $id);
return $result->fetch(PDO::FETCH_ASSOC);
}
Добавление отзыва
public static function addReview($name, $text, $email) {
$db = ConnectDb::getConnection();
$sql = "INSERT INTO reviews(name, text, email) VALUES (:name, :text, :email)";
$statement = $db->prepare($sql);
$statement->bindParam(':name', $name);
$statement->bindParam(':text', $text);
$statement->bindParam(':email', $email);
$statement->execute();
header('Location: /reviews');
}
Удаление отзыва
public static function deleteReview($id) {
$db = ConnectDb::getConnection();
$statement = $db->query('DELETE FROM reviews WHERE id=' . $id);
$statement->execute();
header('Location: /reviews');
}
Авторизация администратора
public static function authorization($login, $password) {
$db = ConnectDb::getConnection();
$sql = "SELECT id, admin FROM users WHERE login=:login AND password=:password";
$statement = $db->prepare($sql);
$statement->bindParam(':login', $login);
$statement->bindParam(':password', md5($password));
$statement->execute();
$user = $statement->fetch(PDO::FETCH_OBJ);
$_SESSION['admin'] = $user->admin;
header('Location: /');
}
Описание структуры клиентской части
3.1 Описание интерфейса «Обычный пользователь и интерфейса администратор»
Рисунок 4.1.1 – Главная страница сайта
Рисунок 4.1.3– Страница «Фильмы» для администратора
Рисунок 4.1.3– Страница «О Нас»
Рисунок 4.1.4– Страница добавления отзыва
Рисунок 4.1.4– Страница добавления фильма
Рисунок 4.1.4– Страница добавления отзыва
ЗАКЛЮЧЕНИЕ
В соответствии с заданием на проектирование сайта был создан сайт кинотеатра “ержан”
Была создана Главная страница с фильмами и страницы: Главная, Фильмы, о нас
Также была добавлена возможность:
- Добавление и удаление отзывов
- Добавление и удаление фильмов
Был создан каталог фильмов, формат поиска фильмов, интерфейс пользователя для написания отзыва, интерфейс администратора сайта
В процессе создания сайта были получены навыки написания кода на языках HTML, CSS, JS, PHP, SQL. А так-же навыки верстки макетов, и выборки данных из MySQL при помощи PHP запросов.
Список использованной литературы
- Форта, Б. Освой самостоятельно SQL за 10 минут/ Б. Форта. - М.: Вильямс, 2017. – 288 с.
- Фримен, Э. Фримен, Э. Изучаем HTML, XHTML и CSS/ Э. Фримен. Э. Фримен. - М.: Питер, 2014. – 720 с.
- Фримен, Э. Фримен, Э. Изучаем программирование на JavaScript/ Э. Фримен. Э. Фримен. -М.: Питер, 2015. – 640 с.
- Скляр, Д. Изучаем PHP 7. Руководство по созданию интерактивных веб-сайтов/ Д. Скляр. - М.: Вильямс, 2016. – 464 с.
- Хопкинс, К. PHP. Быстрый старт/ К. Хопкинс. - М.: Эксмо, 2014. – 160 с.
- Котеров, Д. Симдянов, И. PHP 7/ Д. Котеров. И. Симдянов. - М.: БХВ-Петербург, 2016. – 1088 с.
Приложение
Код главной страницы сайта
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="/web/css/normalize.css">
<link rel="stylesheet" href="/web/css/main.css">
<title>Erzhan Cinema</title>
</head>
<body>
<header class="header">
<div class="container">
<div class="header__wrapper_top">
<nav class="nav">
<ul class="nav__list">
<li class="nav__item">
<a href="/" class="nav__link">Главная</a>
</li>
<li class="nav__item">
<a href="/films" class="nav__link">Фильмы</a>
</li>
<li class="nav__item">
<a href="/about" class="nav__link">О нас</a>
</li>
</ul>
</nav>
<div class=" reviews">
<li class="reviews">
<a href="/reviews" class="nav__link">Отзывы</a>
</li>
</div>
</div>
<div class="header__wrapper_middle">
<div class="header-logo">
<a class="header-logo__link" href="/">
<img class="header-logo__image" src="/media/img/erzhcnm.png" alt="">
</a>
</div>
<form class="search-form" action="#" method="post">
<input class="search-form__content" type="text" placeholder="Поиск фильма">
<button class="search-form__button">ПОИСК</button>
</form>
</div>
</div>
</div> </header> <main class="main">
<div class="container">
<div class="films">
<ul class="films__list">
<li class="films__item">
<img class="films__image" src="/media/img/koma.jpg" alt="Кома">
<a href="/films" class="films__details">Подробнее</a>
</li>
<li class="films__item">
<img class="films__image" src="/media/img/bloodshot.jpg" alt="Бладшот">
<a href="/films" class="films__details">Подробнее</a>
</li>
<li class="films__item">
<img class="films__image" src="/media/img/trolls2.png" alt="Тролли: Мировой тур">
<a href="/films" class="films__details">Подробнее</a>
</li>
<li class="films__item">
<img class="films__image" src="/media/img/trolls2.png" alt="Тролли: Мировой тур">
<a href="/films" class="films__details">Подробнее</a>
</li>
<li class="films__item">
<img class="films__image" src="/media/img/silence-place-2.jpg" alt="Тихое место 2">
<a href="/films" class="films__details">Подробнее</a>
</li>
<img class="films__image" src="/media/img/machete.png" alt="Мачете">
<a href="/films" class="films__details">Подробнее</a>
</li>
<li class="films__item">
<img class="films__image" src="/media/img/silenhill.png" alt="Сайлент Хилл">
<a href="/films" class="films__details">Подробнее</a>
</li>
<img class="films__image" src="/media/img/it-2.jpg" alt="Оно 2">
<a href="/films" class="films__details">Подробнее</a>
</li>
<li class="films__item">
<img class="films__image" src="/media/img/killbill.jpg" alt="Убить Билла">
<a href="/films" class="films__details">Подробнее</a>
</li>
</ul>
</div>
</div>
</main>
<footer class="footer">
<div class="container">
<p class="footer__content">SITE ERZHAN CINEMA © 1975-2020</p>
</div>
</footer>
<script type="text/javascript" src="/web/js/main.js"></script>
</body>
</html>
Код страницы «О нас»
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="/web/css/normalize.css">
<link rel="stylesheet" href="/web/css/main.css">
<title>Erzhan Cinema</title>
</head>
<body>
<header class="header">
<div class="container">
<div class="header__wrapper_top">
<nav class="nav">
<ul class="nav__list">
<li class="nav__item">
<a href="/" class="nav__link">Главная</a>
</li>
<li class="nav__item">
<a href="/films" class="nav__link">Фильмы</a>
</li>
<li class="nav__item">
<a href="/about" class="nav__link">О нас</a>
</li>
</ul>
</nav>
<div class=" reviews">
<li class="reviews">
<a href="/reviews" class="nav__link">Отзывы</a>
</li>
</div>
</div>
<div class="header__wrapper_middle">
<div class="header-logo">
<a class="header-logo__link" href="/">
<img class="header-logo__image" src="/media/img/erzhcnm.png" alt="">
</a>
</div>
<form class="search-form" action="#" method="post">
<input class="search-form__content" type="text" placeholder="Поиск фильма">
<button class="search-form__button">ПОИСК</button>
</form>
</div>
</div>
</div> </header> <main class="main">
<div class="container">
<div class="aboutus">
<p class="nop"><b>Кинотеатр Ержан</b> - место, где каждый найдёт что-то своё!</p>
<p class="nop">История кинотеатра Ержан началась в далеком 1975 году. После долгих лет строительства, кинотеатр распахнул свои двери для зрителей. Ведь в то время в городе был только один кинотеатр -Вставай лавай- с двумя небольшими кинозалами, открывшийся в 50-х годах . Естественно, развитие кинотехники требовало нового кинотеатра и новейшего кинотехнического оборудования. Ержан стала именно таким кинотеатром. Во-первых, огромный кинозал на 525 мест и большим экраном площадью около 80 кв.м, во-вторых, просторное фойе и кафе на втором этаже! Также второй зал для кинохроники и детских программ, просторное помещение для билетных касс! Много света, много цветов, новинки кинопроката, приветливый персонал, удобное расположение в центре города - все это полюбилось жителям Ержаново! В общем, с 1975 года кинотеатр стал одним из любимейших мест проведения досуга ержановцев и гостей города.</p>
<p class="nop">Первым директором кинотеатра была Ержанова Алиса Вставайловна, потом ее сменил Комаров Владимир Константинович, а в середине 80-х директором "Ержана" стала Тычолова Запала Нажреновна. Она руководила кинотеатром 20 лет! Но было бы несправедливо не назвать людей, которые работали в кинотеатре все эти долгие- успешные и не очень- годы. Киномеханики: Марат Миратов, Иршановы Агнан и Стас, Кинов Виктор, Пак Чунук, киноинженер Игнат Танги, администраторы- Тиль Швайгер Немецовыч, Брэд Леонардович Голивудов, Шашана Моисеевна Дрейфус, администратор Паулина Умовна Турман, бухгалтер Денежкина Виктория Алексеевна. Пусть не обижаются те, кого мы не назвали! Всем хочется сказать: "ОГРОМНОЕ спасибо за ваш труд, за вашу преданность делу, за ваш профессионализм". Ведь благодаря всем сотрудникам, кинотеатр до сих пор работает! Бывший директор ( с 1986 по 2007г) Тычолова Запала Нажреновна сделала все возможное и невозможное, чтобы сохранить коллектив и само здание кинотеатра. А это было очень непросто!</p>
<p class="nop"> Вот уже почти 40 лет кинотеатр Ержан собирает в своих стенах любителей кино.</p>
</div>
</div>
</main>
<footer class="footer">
<div class="container">
<div class="container">
<div class="contacts ">
<p class="nop"><b>КОНТАКТНЫЙ ТЕЛЕФОН: +7 (499) 788 ER ZNEmail: INFO@ERZN.RUᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠEmail: INFO@ERZN.RU</b></p>
<br><br>
<script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A712cb762ecfd5b36a046b1d921bc0e038e0e4c577f5dccea4af720724e81482b&width=500&height=400&lang=ru_RU&scroll=true"></script>
<br><br>
</div>
</div>
</main>
<footer class="footer">
<div class="container">
<p class="footer__content">SITE ERZHAN CINEMA © 1975-2020</p>
</div>
</footer>
<script type="text/javascript" src="/web/js/main.js"></script>
</body>
</html>
- Разработка сайта БАНКА «Sbermoney
- Управление мотивацией сотрудников на предприятиях ГиРБ (Методы мотивации персонала в индустрии гостеприимства)
- Современные педагогические технологии в обучении физической культуры
- Тактика обороны в деятельности фирмы
- ПОНЯТИЕ И ВИДЫ КОРПОРАЦИЙ
- Особенности перевода газетных статей
- Автоматизация и учёт кадров на предприятие ООО «Дмитровка» г.Москва
- Методы управления инновационным проектом (Понятие и содержание инновационной деятельности и инновационного менеджмента)
- Основные источники международного корпоративного права
- Обучение, занятость и трудоустройство инвалидов
- Методы управления инновационными проектами (Основные понятия теории управления инновационными проектами)
- Отличительные особенности производства и обслуживания в ресторане при отеле (История гостиницы Мариотт)