Файл: РАЗРАБОТКА ТУРИСТИЧЕСКОГО САЙТА (Техническое задание и выбор средств реализации.).pdf
Добавлен: 28.03.2023
Просмотров: 83
Скачиваний: 2
разрабатывался на текстовый редакторе Notepad++ отвечающий всем требованиям профессиональных веб-разработчиков. Многочисленные панели инструментов позволяют быстро набирать исходный код будущей страницы практически без помощи клавиатуры, а внутренний анализатор проверяет корректность документа. Главная же особенность Notepad++ – поддержка плагинов, которые способствуют расширению базового функционала редактора. В программу интегрируются дополнительные плагины, позволяющие настроить проверку орфографии, автоматическое сохранение документов, симметричное и асимметричное шифрование текста и многое другое.
Описание модулей серверной части программы и их взаимодействие.
Сначала создаю базу данных и таблицу для регистрации на сайте:
Рисунок №1
Создаю соединение с этой таблицей. Давайте создадим файл bd.php:
Рисунок №2
Описание структуры базы данных и ее функций.
По умолчанию сама БД сайта находится в каталоге data на веб-сервере интернет-проекта. К примеру, если БД имеет название bd, то все ее значения находятся в data/bd. Как правило, на хостинге доступ к файлам БД закрыт, их следует “вытягивать” посредством запросов SQL через консоль. Упрощает работу с запросами именно MySQL. Для того чтобы попасть в MySQL, необходимо зайти по ссылке, которую дает хостинг-провайдер, и ввести логин-пароль от базы.
Описание структуры клиентской части.
Чаще всего веб-приложения состоят как минимум из трёх основных компонентов:
- Клиентская часть веб приложения - это графический интерфейс. Это то, что вы видите на странице. Графический интерфейс отображается в браузере. Пользователь взаимодействует с веб-приложением именно через браузер, кликая по ссылкам и кнопкам.
- Серверная часть веб-приложения - это программа или скрипт на сервере, обрабатывающая запросы пользователя (точнее, запросы браузера). Чаще всего серверная часть веб-приложения программируется на PHP. При каждом переходе пользователя по ссылке браузер отправляет запрос к серверу. Сервер обрабатывает этот запрос, вызывая некоторый PHP-скрипт, который формирует веб-страничку, описанную языком HTML, и отсылает клиенту по сети. Браузер тут же отображает полученный результат в виде очередной веб-страницы.
- База данных (БД, или система управления баазми данных, СУБД) - программное обеспечение на сервере, занимающееся хранением данных и их выдачей в нужный момент. В случае форума или блога, хранимые в БД данные - это посты, комментарии, новости, и так далее. База данных располагается на сервере. Серверная часть веб-приложения (то есть, PHP скрипт) обращается к базе данных, извлекая данные, которые необходимы для формирования страницы, запрошенной пользователем.
Это, пожалуй, основные компоненты большинства веб-приложиний. Графически схему их взаимодействия можно представить так:
Рисунок №3
4.1. Описание интерфейса «Обычный пользователь».
Пользовательская часть сайта состоит из шести основных блоков:
- шапка сайта;
- блок навигации;
- блок авторизации;
- блок поиска;
- блок основного содержания;
Эти блоки формируются на сайте средствами языка программирования php.
Шапка сайта одинаковая для всех страниц сайта, она содержит в себе небольшое изображение, и текст, наиболее полно отражающий идею сайта.
В блок навигации выводятся из базы данных все категории сайта в виде ссылок, на них.
Блок авторизации предназначен для авторизации пользователя путем ввода регистрационных данных: логина и пароля. Также в этом блоке есть ссылки на восстановление пароля и регистрации. После того как пользователь пройдёт авторизацию, (а пройдёт он её если введенные им данные совпадают с данными которые он указал при регистрации) в этом блоке будет отображаться имя логин и ссылки на страницу профиля и выхода с сайта. Пока пользователь будет авторизован, он будет иметь возможность оставлять комментарии без ввода защитного кода. Идентификация пользователя будет осуществляться на основе записанных в его браузер cookie файлах.
Блок поиска предназначен для отправки ключевого слова по которому будет, происходит поиск в новостях сайта. Этот запрос отправляется в GET переменной search в файл обработчик search.php.
Описанные выше блоки не меняют своё содержание на всех страницах сайта, при посещении пользователем сайта. В процессе перехода по ссылкам меняется только блок с основным содержанием.
Блок с основным содержанием формируется в файлах, которые непосредственно производят вывод информации в браузер, на всех страницах сайта, изменяются только файлы: index.php, login.html, profile.html, recover_password.php, registration.php, search.php, view_cat.php, view_post.php.
На главной странице index.php в блоке основного содержания выводится краткое описание 5 последних новостей, с ссылками на них, количество просмотров, дата добавление, автор и категория.
На странице авторизации login.php в блоке основного содержания отображается форма с двумя полями, для ввода логина и пароля, и кнопка активирующая эту форму. А так же две ссылки, на регистрацию и восстановление пароля.
На странице профиля profile.php в блоке основного содержания отображается информация, которую пользователь ввёл при регистрации, и дана ссылка на изменение этой информации, при нажатии на которую мы попадаем в тот же файл но с другим содержанием этого блока. После нажатия на ссылку редактирования регистрационных данных пользователя в блоке основного содержания отображается форма, в которой он может редактировать свои логин, пароль и email, причем для изменения хоть одного из этих параметров нужно ввести свой текущий пароль.
На странице восстановления пароля recover_password.php в блоке основного содержания отображается форма с одним полем и кнопкой. Полем для ввода логина или пароля и кнопкой для активации формы. После ввода логина или пароля если они есть в базе данных, на этой же странице открывается другая форма над которой отображается секретный вопрос который указал пользователь при регистрации при правильном ответе на данный вопрос генерируется новый пароль и отображается в браузере.
На странице регистрации registration.php в блоке основного содержания отображается форма, состоящая из семи полей: логин, проль, имя, email, секретный вопрос, и поля для ввода кода с картинки. При правильном заполнении этих полей в браузер выводится сообщение об успешной регистрации пользователя.
На странице поиска search.php в блоке основного содержания отображаются новости которые соответствуют указанному в блоке поиска поисковому запросу.
На странице вывода новостей категории view_cat.php в блоке основного содержания отображаются новости выбранной категории.
На странице вывода полной новости view_post.php в блоке основного содержания отображается полная новость. Кроме этого отображаются и все комментарии к этой новости с формой добавления комментариев. В этом блоке для отправки комментариев, не зарегистрированным пользователям нужно ввести код с картинки, имя и email, а зарегистрированным пользователям заполнять эти поля не нужно, так как они уже идентифицированы.
Описание интерфейса «Администратор».
Административная часть сайта в чем то похожа на пользовательскую. Её можно условно поделить на 3 части:
- шапка сайта;
- меню редактирования;
- динамическая часть;
Две первые части на всех страницах остаются неизменными, а вот третья постоянно изменяется в зависимости от выбранного в меню пункта.
Меню редактирования находится с левой стороны ниже шапки сайта и состоит из ссылок, которые ведут на php файлы, позволяющие редактировать, удалять, и добавлять контент сайта и пользователей.
Динамическая часть сайта находится ниже шапки сайта и правее меню редактирования. В нем и происходит редактирование, удаление, и добавление информации.
Рисунок 4.
При нажатии на ссылку «Добавить», в категории «Новости», откроется файл add_news.php и в динамической части появится форма. В этой форме будут поля, которые необходимо заполнить для добавления новости.
При нажатии на вторую ссылку «Редактировать» в категории «Новости», откроется файл edit_news.php и в динамической части, откроется список всех новостей сайта, заголовки которых будут являться ссылками на редактирование этих новостей. Кроме этого в этом окне можно удалить новости, нажав на кнопку удалить, находящуюся справа возле каждой новости.
Рисунок 5.
При нажатии на аналогичные ссылки в категориях меню: «Категории», «Комментарии» и «Пользователи» будет аналогичный результат, отличие будет лишь в количестве и значениях полей которые, надо заполнить. А также в категории «Комментарии» не будет возможности добавления комментариев. Поэтому описывать их подробно не имеет смысла.
Инструкция пользователя.
Диалог пользователя с сайтом происходит через браузер. После ввода пользователем адреса сайта, в адресной строке браузера открывается главная страница сайта:
Рисунок 6.
С этой страница через гиперссылки пользователь может попасть в любую категорию сайта, через навигационное меню.
Административная часть сайта позволяет добавлять удалять и редактировать данные из базы данных и исходного кода, такие как новости, пользователи, комментарии и категории.
Рисунок 7.
Рисунок 8.
Заключение
В результате выполнения курсовой, был создан веб-приложение. Для его разработки применялось актуальное программное обеспечение, без помощи которого не было бы возможности добиться поставленной цели. Это программное обеспечение включает в себя:
- Язык программирования PHP;
- Язык программирования Html;
- Язык программирования CSS;
- Веб-сервер Denwer;
- Реляционная система управления БД MySQL;
- Приложение PHPMyAdmin;
- Язык программирования JavaScript;
- Текстовой редактор Notepad++.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- Зарохин, Л.З. PHP для начинающих / Л.З. Зарохин - СПб.: БХВ -Петербург, 2016.
- Овицкий, Н.Ф. PHP как инструмент для работы с MySQL базой данных / Л.З Овицкий - М. : Вильямс, 2018.
- Морозов, Б.С. MySQL для начинающих / Б.С. Морозов - СПб. : Корона-принт, 2017.
- Демидов, С.Д. Технологии разработки WEB приложений / С.Д. Демидов, Н.А. Ерохин - СПб.: БХВ-Петербург, 2014.
- Колесниченко, Д.С. CSS для начинающих WEB разработчиков / Д.С. Колесниченко - М. : ДНК, 2017.
- Беклешов, В.К. Технико-экономическое обоснование дипломных проектов / В.К. Беклешов - М.: Высшая школа, 2016.
- Орлов, С.А. Технология разработки программ / С. А. Орлов - СПб. : Питер, 2018.
- Федорчук, Д. А. Разработка WEB приложений на PHP и MySQL / Д.А. Федорчук - СПб. : Корона-принт, 2016.
- Прохоров, В.В. Разработка WEB приложений с нуля / В.В. Прохоров - Мн.: БГУИР, 2017.
- Семич, А.В. Охрана труда при работе на персональных электронно-вычислительных машинах и другой офисной технике. Практическое пособие / А.В. Семич - Мн.: ЦОТЖ, 2018.
- Сорокин, А.В. Приёмы работы с MySQL базой данных / А.В. Сорокин - М.: 2019.
- Нестереноко, А.В. PHP Практикум / А.В. Нестеренко - СПб.: Питер, 2019.
- Федоров, Н.З. PHP и MySQL для начинающих / Н.З. Федоров - СПб.: БХВ-Петербург, 2017.