Добавлен: 28.04.2023
Просмотров: 272
Скачиваний: 1
СОДЕРЖАНИЕ
1. Техническое задание и выбор средств реализации
1.2. Обоснование выбора модели данных
2. Описание модулей серверной части программы и их взаимодействие
3. Описание структуры базы данных и ее функций
3.1 Разработка инфологической модели
3.2 Даталогическое проектирование
4. Описание структуры клиентской части
4.1. Общая структура клиентской части
4.2. Описание интерфейса «Обычный пользователь»
В четвертой главе описана структура клиентской части приложения.
Таким образом, в процессе выполнения работы решены следующие задачи:
- разработано техническое задание для разработки сайта,
- выбрана модель данных и средства разработки всех частей сайта,
- разработана серверная часть приложения,
- разработана база данных,
- разработана клиентская часть приложения.
В результате выполнения работы достигнута её основная цель –разработан сайт кинотеатра.
Список использованной литературы
- Мейер, Б. Инструменты, алгоритмы и структуры данных / Б. Мейер. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016.
- Прохоренок, Н. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / Н. Прохоренок. - СПб.: БХВ - Петербург., 2010. - 900 с.
- Богданов, М.Р. Перспективные языки веб-разработки / М.Р. Богданов. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
- Куликов Г.Г. Набатов А.Н. Речкалов А.В. Автоматизированное проектирование информационно-управляющих систем. Системное моделирование предметной области.. — Уфа: Уфимский государственный авиационный технический университет, 1998. — 104 с. — ISBN 5-89611-190-0.
- Date, C. J. Database in Depth. — O'Reilly, 2005. — 240 с. — ISBN 0-596-10012-4.
- Савельева, Н.В. Язык программирования PHP / Н.В. Савельева. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
- Никсон, Р. Создаем динамические web-сайты с помощью PHP, MySQL и JavaScript / Р. Никсон. - П.: Питер, 2011. - 496 с.
- Томсон, Л. Разработка Web-приложений на РНР и MySQL/ Л. Томсон. - М.: ДиаСофтЮП, 2003. - 672 с.
- PHPForum [Электронный ресурс] /форум.- Россия, 2003. - Режим доступа: http://phpforum.ru. - Дата доступа: 09.02.2012.
- Харрис, Э. PHP/MySQL для начинающих / Э. Харрис. - М.: Кудиц - образ, 2005.
- Парк, Д. PHP и MySQL. Библия программиста / Д. Парк, С. Суэринг. - Диалектика, 2010. - 912 с.
- Гущин А.Н. Базы данных: учебник. - М.: Директ-Медиа, 2014. - 266с
- Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: «Вильямс», 2006. — 1328 с. — ISBN 0-321-19784-4.
- Когаловский М. Р. Энциклопедия технологий баз данных. — М.: Финансы и статистика, 2002. — 800 с. — ISBN 5-279-02276-4.
- Peter Pin-Shan Chen «The Entity-Relationship Model — Toward a Unified View of Data» (англ.) // ACM Transactions on Database Systems (TODS) : Сб. — Нью-Йорк: ACM, 1976. — Vol. 1. — P. 9-36. — ISSN 0362-5915. — DOI:10.1145/320434.320440.
- Федоренко, Е.В.Базы данных: учебное пособие / Е.В. Федоренко, А.С. Самардак. – М. : Находка, 2016. – 116 с.
- Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс = Database Systems: The Complete Book. — Вильямс, 2003. — 1088 с. — ISBN 5-8459-0384-X.
- MySQL 5.7 Reference Manual [Электронный ресурс] // Официальный сайт MySQL URL: https://dev.mysql.com/doc/refman/5.7/en/
- Учебное пособие по MySQL [Электронный ресурс] URL:http://www.mysql.ru/docs/man/Tutorial.html
- Триггеры в MySQL [Электронный ресурс] URL: https://habrahabr.ru/sandbox/65316/
Приложение 1
Скрипт для добавления информации в базу данных:
<script language="php">
$host='localhost:3306'; // имя хоста (уточняется у провайдера)
$database='cinema'; // имя базы данных, которую вы должны создать
$user='root'; // заданное вами имя пользователя, либо определенное провайдером
$pswd='23021982'; // заданный вами пароль
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
mysql_set_charset('utf8');
mysql_query("set_client = 'utf8'");
mysql_query("set character_set_results = 'utf8'");
mysql_query("set collation_connection = 'utf8'");
mysql_query("SET NAMES cp1251");
$query = "INSERT INTO shows (Film, Hall, FreePlaces, Date, Time) VALUES ('" . $_POST['film'] . "','". $_POST['hall'] . "',". $_POST['freeplaces'] . ",'". $_POST['date'] . "','". $_POST['time'] . "')";
mysql_query($query);
header('Location: AddShow.html');
</script>
Успешно отправлено!
Скрипт для редактирования информации в базе данных:
<script language="php">
$host='localhost:3306'; // имя хоста (уточняется у провайдера)
$database='cinema'; // имя базы данных, которую вы должны создать
$user='root'; // заданное вами имя пользователя, либо определенное провайдером
$pswd='23021982'; // заданный вами пароль
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
mysql_set_charset('utf8');
mysql_query("set_client = 'utf8'");
mysql_query("set character_set_results = 'utf8'");
mysql_query("set collation_connection = 'utf8'");
mysql_query("SET NAMES cp1251");
$query = "UPDATE shows SET Film = '". $_POST['film'] . "', Hall = '". $_POST['hall'] . "', FreePlaces = ". $_POST['freeplaces'] . ", Date = '". $_POST['date'] . "', Time = '". $_POST['time'] . "' WHERE Number = '" . $_POST['number'] . "'";
mysql_query($query);
header('Location: UpdateShow.html');
</script>
Успешно отправлено!
Скрипт для удаления информации из базы данных:
<script language="php">
$host='localhost:3306'; // имя хоста (уточняется у провайдера)
$database='cinema'; // имя базы данных, которую вы должны создать
$user='root'; // заданное вами имя пользователя, либо определенное провайдером
$pswd='23021982'; // заданный вами пароль
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
mysql_set_charset('utf8');
mysql_query("set_client = 'utf8'");
mysql_query("set character_set_results = 'utf8'");
mysql_query("set collation_connection = 'utf8'");
mysql_query("SET NAMES cp1251");
$query = "DELETE from shows WHERE Number = '" . $_POST['number'] . "'";
mysql_query($query);
header('Location: DeleteShow.html');
</script>
Успешно отправлено!
Скрипт авторизации обычного пользователя:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="windows-1251">
<title>Авторизация</title>
<link rel="stylesheet" type="text/css" href="Style.css">
</head>
<body>
<div id="layer1">
<div id="logo">
<a href="Main.html"><canvas id="canvasLogoId" width="130" height="77">
<script src="Logo.js"></script>
</canvas></a>
</div>
<div id="slideShow">
Кинотеатр "Дружба"
</div>
</div>
<div id="tr">
<div id="menu">
<div id="menu0" class="m">
Меню
</div>
<div id="menu1" class="mx">
<a href="About.html">О нас</a>
</div>
<div id="menu2" class="mx">
<a href="Halls.php">Залы</a>
</div>
<div id="menu3" class="mx">
<a href="Shows.php">Сеансы</a>
</div>
<div id="menu4" class="mx">
<a href="Films.php">Фильмы</a>
</div>
<div id="menu7" class="mx">
<a href="Comments.php">Отзывы</a>
</div>
<div id="menu5" class="mx">
<a href="AuthorizationMain.html">Бронирование</a>
</div>
<div id="menu6" class="mx">
<a href="AuthorizationAdm.html">Управление данными</a>
</div>
</div>
</div>
<div id="front">
<h1 align="center" style="color: red">Бронирование</h1>
<form action="test2.php" method="post">
<p>Авторизуйтесь, пожалуйста, для продолжения бронирования.</p>
<p>Логин: <input type="text" name="username" /></p>
<p>Пароль: <input type="text" name="password" /></p>
<p><input type="submit" /></p>
<p>В случае, если Вы еще не зарегистрированы, перейдите на <a href="Registration.html">страницу регистрации</a>.</p>
</form>
</div>
<div id="search">
<form action="http://www.yandex.ru:8081/yandsearch" method="get">
<input type="text" name="text"><br> <input type="submit" value="Найти">
<INPUT TYPE="hidden" NAME="serverurl" VALUE="">
<INPUT TYPE="hidden" NAME="server_name" VALUE="">
<INPUT TYPE="hidden" NAME="referrer1" VALUE="">
<INPUT TYPE="hidden" NAME="referrer2" VALUE="">
</form>
</div>
</div>
</body>
</html>
Скрипт для формирования динамического содержания страницы:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="windows-1251">
<title>Отзывы</title>
<link rel="stylesheet" type="text/css" href="Style.css">
</head>
<body>
<div id="layer1">
<div id="logo">
<a href="Main.html"><canvas id="canvasLogoId" width="130" height="77">
<script src="Logo.js"></script>
</canvas></a>
</div>
<div id="slideShow">
Кинотеатр "Дружба"
</div>
</div>
<div id="tr">
<div id="menu">
<div id="menu0" class="m">
Меню
</div>
<div id="menu1" class="mx">
<a href="About.html">О нас</a>
</div>
<div id="menu2" class="mx">
<a href="Halls.php">Залы</a>
</div>
<div id="menu3" class="mx">
<a href="Shows.php">Сеансы</a>
</div>
<div id="menu4" class="mx">
<a href="Films.php">Фильмы</a>
</div>
<div id="menu7" class="mx">
<a href="Comments.php">Отзывы</a>
</div>
<div id="menu5" class="mx">
<a href="AuthorizationMain.html">Бронирование</a>
</div>
<div id="menu6" class="mx">
<a href="AuthorizationAdm.html">Управление данными</a>
</div>
</div>
<div id="front">
<h1 align="center" style="color: red">Отзывы</h1>
<table>
<tr>
<?php
$host='localhost:3306'; // имя хоста (уточняется у провайдера)
$database='cinema'; // имя базы данных, которую вы должны создать
$user='root'; // заданное вами имя пользователя, либо определенное провайдером
$pswd='23021982'; // заданный вами пароль
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
mysql_set_charset('utf8');
mysql_query("set_client = 'utf8'");
mysql_query("set character_set_results = 'utf8'");
mysql_query("set collation_connection = 'utf8'");
mysql_query("SET NAMES cp1251");
for($i=1;$i<=10;$i++)
{
$query = "select * from comments where Id = ".$i."";
$sql = mysql_query($query);
$result = mysql_fetch_array($sql);
$x = $result['Film'];
$y = $result['Text'];
$z = $result['Mark'];
if ($x == null){
echo (' ');
} else {
echo ('<br/>Фильм: ');
echo ('<tr>'.$x.'</tr>');
echo ('<br/>Текст: ');
echo ('<tr>'.$y.'</tr>');
echo ('<br/>Оценка: ');
echo ('<tr>'.$z.'</tr>');
echo ('<br/>');
}
}
?>
</tr>
</table>
</div>
<div id="search">
<form action="http://www.yandex.ru:8081/yandsearch" method="get">
<input type="text" name="text"><br> <input type="submit" value="Найти">
<INPUT TYPE="hidden" NAME="serverurl" VALUE="">
<INPUT TYPE="hidden" NAME="server_name" VALUE="">
<INPUT TYPE="hidden" NAME="referrer1" VALUE="">
<INPUT TYPE="hidden" NAME="referrer2" VALUE="">
</form>
</div>
</div>
</body>
</html>
Приложение 2
Запросы для создания и первичного заполнения базы данных:
CREATE TABLE users
(
Login varchar(50) PRIMARY KEY,
Password varchar(50)
);
CREATE TABLE halls
(
Name varchar(50) PRIMARY KEY,
Places int
);
CREATE TABLE cards
(
Number int PRIMARY KEY AUTO_INCREMENT,
Sum float
);
CREATE TABLE bookings
(
Number int PRIMARY KEY AUTO_INCREMENT,
ShowNumber int,
CardNumber int,
Login varchar(50),
Places int
);
CREATE TABLE comments
(
Id int PRIMARY KEY AUTO_INCREMENT,
Mark int,
Text varchar(250),
Film varchar(50)
);
CREATE TABLE films
(
Name varchar(50) PRIMARY KEY,
Year int,
Type varchar(50),
Age int
);
CREATE TABLE shows
(
Number int PRIMARY KEY AUTO_INCREMENT,
Film varchar(50),
Hall varchar(50),
FreePlaces int,
Date varchar(50),
Time varchar(50)
);
INSERT INTO users (Login, Password) VALUES ('Administrator', '123');
INSERT INTO users (Login, Password) VALUES ('User1', 'Password1');
select * from users;
INSERT INTO halls (Name, Places) VALUES ('Синий', 100);
INSERT INTO halls (Name, Places) VALUES ('Красный', 200);
INSERT INTO halls (Name, Places) VALUES ('Зеленый', 300);
select * from halls;
INSERT INTO cards (Sum) VALUES ( 1000);
INSERT INTO cards (Sum) VALUES ( 2000);
select * from cards;
INSERT INTO bookings (ShowNumber, CardNumber, Login, Places) VALUES (1, 1, 'User1', 3);
INSERT INTO bookings (ShowNumber, CardNumber, Login, Places) VALUES (2, 2, 'User1', 1);
INSERT INTO bookings (ShowNumber, CardNumber, Login, Places) VALUES (3, 1, 'User1', 2);
select * from bookings;
INSERT INTO comments (Mark, Text, Film) VALUES (3, 'Отлично', 'Дюймовочка');
INSERT INTO comments (Mark, Text, Film) VALUES (5, 'Превосходно', 'Дюймовочка');
INSERT INTO comments (Mark, Text, Film) VALUES (0, 'Отвратительно', 'Гном');