Курсовая работа: «Разработка сайта кинотеатра» . .

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. MySQL. Руководство администратора. Вильямс, 2015;
  2. Люк Веллинг, Лора Томсон. Разработка Web-приложений с помощью PHP и MySQL. Вильямс, 2013;
  3. Internet-энциклопедия «Википедия»: http://ru.wikipedia.org/;
  4. Энциклопедия HTML: http://htmlbook.ru/;
  5. Современный учебник Javascript: http://learn.javascript.ru/;
  6. Руководство по PHP: http://php.net/manual/;
  7. Грэди Буч, Роберт А. Максимчук. Объектно-ориентированный анализ и проектирование с примерами приложений. ОРейли, 2013
  8. Welling L., Thomson L. PHP and MySQL Web Development (6th Edition). Addison-Wesley Professional, 2014
  9. Пьюривал С. Основы разработки веб-приложений. СПб: Питер, 2015
  10. Shklar L., Rosen R. Web Application Architecture: Principles, Protocols and Practices (2nd Edition). Wiley, 2013

Приложение 1.

Скриншоты разработанного сайта.

Прототип сайта: http://www.mucbs.ru/rodina/

Приложение 2.

Листинг программы модуля и дополнительных функций для показа информации о фильмах. Вызов функций происходит из модуля films.php.

Листинг файла films.php

<?php

$php_functions_folder = "/home/dukkru/www/php_funct_dir";

$page_title = "films";

$path_separator = "/";

$forward_arrow_link = "none";

$back_arrow_link = "none";

include_once ($php_functions_folder.$path_separator."common_settings.php");

// Кадр из фильма должен быть 232 x 146

$request_method = $HTTP_SERVER_VARS["REQUEST_METHOD"];

if (strcmp($request_method, "GET") == 0) { $IN_VARS =& $HTTP_GET_VARS; }

else { $IN_VARS =& $HTTP_POST_VARS; }

?>

<html>

<head>

<title>Кинокомплекс &quot;Родина&quot; - Подробнее о фильмах</title>

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

<?php include ($php_functions_folder.$path_separator."image_preload.php"); ?>

<link href="dukk.css" rel="stylesheet" type="text/css">

</head>

<body bgcolor="#6E2A23" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<div align="left">

<table cellpadding="0" cellspacing="0" border="0" height="100%">

<tr>

<td width="211" background="images/left_background.gif" valign="top">

<div><img src="images/image1.gif" alt="" width="211" height="92" border="0"></div>

<?php include ($php_functions_folder.$path_separator."site_menu.php"); ?>

<br>

<div><table cellpadding="0" cellspacing="0" border="0" width="156" >

<tr>

<td width="10">

<div><img src="images/void.gif" width="10" height="1"></div>

</td>

<td width="146" valign="top">

<?php include ($php_functions_folder.$path_separator."films_alphabet.php"); ?>

<?php include ($php_functions_folder.$path_separator."films_today_and_tomorrow.php"); ?>

</td>

</tr>

</table></div>

</td>

<td width="566" valign="top" rowspan="2">

<div><table cellpadding="0" cellspacing="0" border="0" width="566" height="179">

<tr>

<td width="75"><img src="images/image2.gif" alt="" width="75" height="179" border="0"></td>

<td width="491" background="images/promo_background.gif"><div><img src="images/void.gif" alt="" width="491" height="1" border="0"></div></td>

</tr>

</table></div>

<div><img src="images/void.gif" width="1" height="25"></div>

<?php

// Мы попробуем посмотреть, хотим ли мы посмотреть список или информацию по фильму

// Сначало проверка на фильм

if (isset ($IN_VARS["film_id"]) && ((strlen ($IN_VARS["film_id"]) <= 8) && (strlen ($IN_VARS["film_id"]) >= 1)) && ereg ("([0-9]{1,8})", $IN_VARS["film_id"], $id_parts) && (strlen ($id_parts[1]) == strlen ($IN_VARS["film_id"]))) {

// Мы получили приятный film_id

include ($php_functions_folder.$path_separator."film_info_output.php");

}

else {

// тогда надо выводить сеансы

include ($php_functions_folder.$path_separator."films_list_output.php");

}

?>

<br><br>

</td>

</tr>

<tr>

<td width="211" background="images/left_background.gif" valign="bottom"><br><br><br><img src="images/materials_comments.gif">

</td>

</tr>

<?php include ($php_functions_folder.$path_separator."site_footer.php"); ?>

</table>

</div>

</body>

</html>

Листинг файла common_settings.php

<?php

$mysql_db_name = "dukk";

$mysql_host = "10.1.32.104";

$mysql_username = "dukk";

$mysql_password = "12345678";

$time_correction = 0;

?>

Листинг файла site_menu.php

<div><table cellpadding="0" cellspacing="0" border="0" width="211" height="197" background="images/menu_background.gif">

<tr>

<td width="131" valign="top">

<div align="right"><?php if(strcmp ($page_title,"news") == 0) { echo '<img src="images/menu_star.gif" align="top"><img src="images/menu_news_off.gif" alt="" width="65" height="24" border="0">'; } else { echo '<a href="index.php" onmouseover="mover(0)" onmouseout="mout(0)"><img src="images/menu_news_off.gif" alt="" border="0" name="i0"></a>'; } ?></div>

<div align="right"><?php if(strcmp ($page_title,"seances") == 0) { echo '<img src="images/menu_star.gif" align="top"><img src="images/menu_seances_off.gif" alt="" width="89" height="37" border="0">'; } else { echo '<a href="seances.php" onmouseover="mover(1)" onmouseout="mout(1)"><img src="images/menu_seances_off.gif" alt="" border="0" name="i1"></a>'; } ?></div>

<div align="right"><?php if(strcmp ($page_title,"films") == 0) { echo '<img src="images/menu_star.gif" align="top"><img src="images/menu_films_off.gif" alt="" width="63" height="26" border="0">'; } else { echo '<a href="films.php" onmouseover="mover(2)" onmouseout="mout(2)"><img src="images/menu_films_off.gif" alt="" border="0" name="i2"></a>'; } ?></div>

<div align="right"><?php if(strcmp ($page_title,"info") == 0) { echo '<img src="images/menu_star.gif" align="top"><img src="images/menu_info_off.gif" alt="" width="94" height="27" border="0">'; } else { echo '<a href="info.php" onmouseover="mover(3)" onmouseout="mout(3)"><img src="images/menu_info_off.gif" alt="" border="0" name="i3"></a>'; } ?></div>

</td>

<td width="80" valign="bottom"><?php

if(strcmp ($page_title,"news") == 0) { echo '<img src="images/menu_news_icon.gif" alt="" border="0">'; }

if(strcmp ($page_title,"seances") == 0) { echo '<img src="images/menu_seances_icon.gif" alt="" border="0">'; }

if(strcmp ($page_title,"films") == 0) { echo '<img src="images/menu_films_icon.gif" alt="" border="0">'; }

if(strcmp ($page_title,"info") == 0) { echo '<img src="images/menu_info_icon.gif" alt="" border="0">'; }

?></td>

</tr>

</table></div>

Листинг файла films_alphabet.php

<?php

// Выводим информацию на сегодняшний и завтрашний день

include_once ($php_functions_folder.$path_separator."functions".$path_separator. "select_films_by_date.php");

$letter_string = "АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЫЭЮЯ";

$mysql_link = mysql_connect ($mysql_host, $mysql_username, $mysql_password) or error_handler ("Could not connect to database");

mysql_select_db ($mysql_db_name, $mysql_link);

$mysql_request = "SELECT DATE_FORMAT(DATE_ADD(NOW(), INTERVAL $time_correction HOUR),'%Y-%m-%d'), DATE_FORMAT(DATE_ADD(DATE_ADD(NOW(), INTERVAL $time_correction HOUR), INTERVAL 1 DAY), '%Y-%m-%d')";

$mysql_result = mysql_query ($mysql_request, $mysql_link);

list ($date_today, $date_tomorrow)= mysql_fetch_row ($mysql_result);

echo "<div align=\"right\" class=\"titlebar\">КАТАЛОГ ФИЛЬМОВ</div>";

echo "<div align=\"right\" class=\"film_list\"><a href=\"films.php?section=list&film_letter=new\" class=\"textlink\">Новые фильмы</a></div>";

echo "<div align=\"right\" class=\"film_list\"><a href=\"films.php?section=list&film_letter=all\" class=\"textlink\">Все фильмы</a><br><br></div>";

echo '<div align="right"><table cellpadding="0" cellspacing="3" border="0"><tr>';

$alphabet_counter = 0;

for ($letter_loop = 0; $letter_loop < strlen ($letter_string); $letter_loop++) {

if ($alphabet_counter == 6) { echo '</tr><tr>'; $alphabet_counter = 0; }

$alphabet_counter ++;

$letter_sign = substr ($letter_string, $letter_loop, 1);

$letter_code_loop = $letter_loop;

echo "<td><a href=\"films.php?section=list&film_letter=$letter_code_loop\" class=\"textlink\">$letter_sign</a></td>";

}

echo '</tr></table></div>';

echo "<div align=\"right\" class=\"film_list\"><a href=\"films.php?section=list&film_letter=dig\" class=\"textlink\">0-9 и другие знаки</a></div><br>";

mysql_close ($mysql_link);

?>

Листинг файла films_today_and_tomorrow.php

<?php

// Выводим информацию на сегодняшний и завтрашний день

include_once ($php_functions_folder.$path_separator."functions".$path_separator. "select_films_by_date.php");

$mysql_link = mysql_connect ($mysql_host, $mysql_username, $mysql_password) or error_handler ("Could not connect to database");

mysql_select_db ($mysql_db_name, $mysql_link);

$mysql_request = "SELECT DATE_FORMAT(DATE_ADD(NOW(), INTERVAL $time_correction HOUR),'%Y-%m-%d'), DATE_FORMAT(DATE_ADD(DATE_ADD(NOW(), INTERVAL $time_correction HOUR), INTERVAL 1 DAY), '%Y-%m-%d')";

$mysql_result = mysql_query ($mysql_request, $mysql_link);

list ($date_today, $date_tomorrow)= mysql_fetch_row ($mysql_result);

mysql_close ($mysql_link);

SelectFilmsByDate($date_today, "ФИЛЬМЫ СЕГОДНЯ");

echo '<br>';

SelectFilmsByDate($date_tomorrow, "ФИЛЬМЫ ЗАВТРА");

?>

Листинг файла film_info_output.php

<?php

// Мы должны вывести две аннотации к двум фильмам

// сначала напишем функцию для для двух дней.

// Сначала нам надо проверить, есть ли сегодня хоть какие-то фильмы, нам надо по-крайней мере 2 фильма

include_once ($php_functions_folder.$path_separator."functions".$path_separator. "prep_str_to_mysql.php");

$film_id_to_mysql = PrepStrToMysql ($IN_VARS["film_id"]);

$mysql_link = mysql_connect ($mysql_host, $mysql_username, $mysql_password) or error_handler ("Could not connect to database");

mysql_select_db ($mysql_db_name, $mysql_link);

$mysql_request = "SELECT _FILM_ID, _FILM_NAME, _FILM_NAME_ORIGIN, _FILM_DIRECTOR, _FILM_ACTORS, _FILM_REVIEW, _FILM_FULL_REVIEW, _FILM_SITE, _FILM_REVIEW_URL FROM _films WHERE _FILM_ID=$film_id_to_mysql";

$mysql_result = mysql_query ($mysql_request, $mysql_link);

$num_of_films = mysql_num_rows ($mysql_result);

list ($film_id, $film_name, $film_name_origin, $film_director, $film_actors, $film_review, $film_full_review, $film_site, $film_review_url)= mysql_fetch_row ($mysql_result);

echo '<div><table cellpadding="0" cellspacing="0" border="0" width="541" height="33" background="images/titlebar.gif">

<tr><td width="30"><img src="images/void.gif" width="30" height="1"></td>

<td><div class="titlebar">ИНФОРМАЦИЯ ПО ФИЛЬМУ</div></td></tr>

</table></div>';

echo '<div><table cellpadding="0" cellspacing="0" border="0" width="526">

<tr><td width="14"><img src="images/void.gif" alt="" width="14" height="1" border="0"></td>

<td><br>';

echo '<div><table cellpadding="0" cellspacing="0" border="0">

<tr>

<td valign="top" rowspan="2">

';

echo "<div class=\"film_title\">$film_name</div>\n";

if (isset ($film_name_origin) && (strlen ($film_name_origin) > 0)) {

echo "<div class=\"titlebar\">($film_name_origin)</div>";

}

// echo '<br>';

if (isset ($film_director) && (strlen ($film_director) > 0)) {

echo "<div class=\"textnormal\"><b>Режиссер</b>: $film_director</div>";

}

if (isset ($film_actors) && (strlen ($film_actors) > 0)) {

echo "<div class=\"textnormal\"><b>Роли исполняли (дублировали)</b>: $film_actors</div>";

}

if (isset ($film_site) && (strlen ($film_site) > 0)) {

echo "<div class=\"textnormal\"><b>Официальный сайт</b>:<br><a href=\"$film_site\" target=\"_new\" class=\"textlink\">$film_site</a></div>";

}

if (isset ($film_review) && (strlen ($film_review) > 0)) {

echo "<div class=\"text\"><b>Краткий анонс</b>:<br>$film_review</div>";

}

if (isset ($film_full_review) && (strlen ($film_full_review) > 0)) {

echo "<div class=\"text\"><b>Полное описание</b>:<br>$film_full_review</div>";

}

if (isset ($film_review_url) && (strlen ($film_review_url) > 0)) {

echo "<div class=\"textnormal\"><b>Источник описания</b>:<br><a href=\"$film_review_url\" class=\"textlink\">$film_review_url</a></div>";

}

$mysql_request = "SELECT _IMAGE_ID FROM _film_images WHERE $film_id=_FILM_ID ORDER BY _TITLE_IMAGE";

$mysql_result = mysql_query ($mysql_request, $mysql_link);

$num_of_films = mysql_num_rows ($mysql_result);

if ($num_of_films > 0) {

echo '<img src="images/void.gif" width="230" height="1" alt="" border="0">';

echo ' </td>';

echo ' <td background="images/vdiv_background.gif" valign="top"><img src="images/vdiv_top.gif"></td>

<td valign="top" rowspan="2" width="230">';

// Выводим все картинки

$images_counter = 0;

while (list ($image_id)= mysql_fetch_row ($mysql_result)) {

echo '<div><table cellpadding="0" cellspacing="0" border="0">';

echo "<tr><td background=\"image_view.php?image_id=$image_id\">";

echo '<img src="images/frame.gif" border="0" alt=""></td></tr></table></div>';

$images_counter ++;

if ($images_counter != $num_of_films) {

echo '<br>';

}

echo '<div>';

}

echo ' </td></tr>

<tr><td valign="bottom" background="images/vdiv_background.gif"><img src="images/vdiv_bottom.gif"></td>

';

}

else {

echo '</td>';

}

echo' </tr></table></div>';

echo '</td></tr></table></div>';

mysql_close ($mysql_link);

?>

Листинг файла films_list_output.php

<?php

// Мы должны вывести две аннотации к двум фильмам

// сначала напишем функцию для для двух дней.

// Сначала нам надо проверить, есть ли сегодня хоть какие-то фильмы, нам надо по-крайней мере 2 фильма

$letter_string = "АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЫЭЮЯ";

if ((!isset ($IN_VARS["film_letter"])) || (strlen ($IN_VARS["film_letter"]) == 0) || ((strlen ($IN_VARS["film_letter"]) > 3) || (strlen ($IN_VARS["film_letter"]) < 1))) {

$film_letter = "new";

$where_statement = "";

$limit_statement = " LIMIT 20";

$title_films_list = "СПИСОК 20 ПОСЛЕДНИХ ДОБАВЛЕННЫХ ФИЛЬМОВ";

}

else {

if (strcmp ($IN_VARS["film_letter"], "all") == 0) {

$film_letter = "all";

$where_statement = "";

$limit_statement = "";

$title_films_list = "СПИСОК ВСЕХ ФИЛЬМОВ В БАЗЕ";

}

elseif (strcmp ($IN_VARS["film_letter"], "dig") == 0) {

$film_letter = "dig";

$where_statement = " WHERE _FILM_NAME REGEXP '^[^А-Я]'";

$limit_statement = "";

$title_films_list = "СПИСОК ФИЛЬМОВ НАЧИНАЮЩИХСЯ НА ЦИФРУ ИЛИ ЗНАК";

}

elseif (ereg ("([0-9]{1,3})", $IN_VARS["film_letter"], $letter_parts) && (strlen ($letter_parts[1]) == strlen ($IN_VARS["film_letter"])) && ($IN_VARS["film_letter"] <= (strlen ($letter_string) - 1) )) {

$film_letter = substr ($letter_string, $IN_VARS["film_letter"], 1);

// elseif ((strlen ($IN_VARS["film_letter"]) == 1) && (substr_count ($letter_string, $IN_VARS["film_letter"]) > 0)) {

// $film_letter = $IN_VARS["film_letter"];

$where_statement = " WHERE _FILM_NAME REGEXP '^[$film_letter]'";

$limit_statement = "";

$title_films_list = "СПИСОК ФИЛЬМОВ НАЧИНАЮЩИХСЯ БУКВУ '$film_letter'";

}

else {

$film_letter = "new";

$where_statement = "";

$limit_statement = " LIMIT 20";

$title_films_list = "СПИСОК 20 ПОСЛЕДНИХ ДОБАВЛЕННЫХ ФИЛЬМОВ";

}

}

echo '<div><table cellpadding="0" cellspacing="0" border="0" width="541" height="33" background="images/titlebar.gif">

<tr><td width="30"><img src="images/void.gif" width="30" height="1"></td>

<td><div class="titlebar">';

echo "$title_films_list</div></td></tr>

</table></div>";

echo '<div><table cellpadding="0" cellspacing="0" border="0" width="526">

<tr><td width="14"><img src="images/void.gif" alt="" width="14" height="1" border="0"></td>

<td><br>';

$mysql_link = mysql_connect ($mysql_host, $mysql_username, $mysql_password) or error_handler ("Could not connect to database");

mysql_select_db ($mysql_db_name, $mysql_link);

$mysql_request = "SELECT _FILM_ID, _FILM_NAME, _FILM_NAME_ORIGIN, _FILM_REVIEW from _films$where_statement ORDER BY _FILM_ADDING_DATE DESC$limit_statement";

$mysql_result = mysql_query ($mysql_request, $mysql_link);

while (list ($film_id, $film_name, $film_name_origin, $film_review)= mysql_fetch_row ($mysql_result)) {

print "<div class=\"text\"><img src=\"images/dot.gif\" alt=\"\" border=\"0\"><a href=\"films.php?film_id=$film_id\" class=\"textlink\">$film_name ($film_name_origin)</a><br><br>$film_review</div><br>";

}

echo '</td></tr></table></div>';

mysql_close ($mysql_link);

?>

Листинг файла site_footer.php

<?php

// Футер для Родины

?>

<tr>

<td width="211" background="images/left_background.gif" valign="bottom" height="62">

<div><a href="mailto:contact@isfactory.ru"><img src="images/if_image.gif" alt="Написать письмо на 'Фабрику Идей'" width="166" height="62" border="0"></a><img src="images/if_image2.gif" alt="" width="45" height="62" border="0"></div>

</td>

<td width="566" valign="top" background="images/foot_image.gif" height="62"><div><img src="images/void.gif" alt="" width="1" height="16" border="0"></div>

Источник: https://files.student-it.ru/previewfile/108618