Файл: Разработка сайта «Я помогаю детям» (Техническое задание и выбор средств реализации).pdf
Добавлен: 15.05.2023
Просмотров: 129
Скачиваний: 3
ВВЕДЕНИЕ
Интернет стал, наиболее эффективным средством рекламы и продвижения и является одним из важных элементов современной цивилизации. Интернет может удовлетворить все потребности современного человека: это покупки, заключение деловых отношений, поиск клиентов и так далее. Но многие заходят в Интернет читать, развлекаться, общаться, узнавать что-то новое для себя. Поэтому создание сайтов стало таким популярным.
В Интернете свое место нашли и благотворительные организации. В настоящее время с помощью сети Интернет можно найти информацию о всевозможных фондах, проектах нацеленных на привлечении внимания к проблеме финансирования детских домов, приютов, интернатов.
Но, к сожалению, растет число мошеннических сайтов, которые вводят в заблуждение пользователей сети интернет, что несомненно подрывает репутацию всей сферы благотворительности.
Актуальность курсового проекта состоит в том, что в настоящее время существует большое количество сайтов на данную тематику, но актуальность информации, способ потребления информации – не всегда соответствует требованиям пользователей сети интернет.
Объектом исследования является процесс разработки сайта.
Цель – разработать сайт «Я помогаю детям» с использованием HTML, CSS, PHP.
Задачи:
- Проанализировать существующие языки для написания сайта;
- Рассмотреть функциональные возможности HTML;
- Рассмотреть источники по теме;
- Разработать макет сайта;
- Наполнить сайт информацией по теме;
- Разработать руководство пользователя.
Практическая значимость проекта заключается в том, что с помощью данного сайта можно ознакомиться с текущей деятельностью организации в сети интернет.
1. Техническое задание и выбор средств реализации
Необходимо разработать веб-сайт для фонда «Я помогаю детям». Сайт предназначен для отображения существующей информации о деятельности организации, а так же ввода новой информации, корректировки уже существующих данных.
Основные возможности программы:
- ввод информации об организации;
- вывод информации об организации;
- регистрация/авторизация пользователей;
- возможность оставлять сообщения всем посетителям веб сайта;
- простой и удобный интерфейс для работы администратора.
В настоящее время существует большое количество способов создания данного программного обеспечения. Для решения поставленной задачи можно выделить такие программные средства как:
- языки гипертекстовой разметки;
- языки программирования;
- базы данных;
Для создания описанного программного продукта наиболее удобным средством является СУБД MySql, так как это наиболее наглядное и простое средство.
База данных, разрабатываемая в курсовом проекте, упрощает и ускоряет процесс обработки информации путем организации запросов к базе данных и отображения необходимой информации на экране.
Вывод и отображение информации на сайте реализуется средствами гипертекстовой разметки HTML.
2. Описание модулей серверной части программы и их взаимодействие
При проектировании серверной части программы, были выделены следующие модули разделов сайта и активностей пользователя формируемых динамически:
- регистрация и авторизация клиентов с учётом прав пользователя;
- личный кабинет администратора;
- форум;
- информация в разделе «О нас»;
- расписание работы консультантов;
- список контактов (телефоны, e-mail).
В связи с тем, что все разделы сайта состоят из одинаковых элементов – «шапка», «сайдбар», «основной контент», «подвал» было принято решение, вывести эти элементы в отдельные файлы и вызывать их при необходимости на последующих страницах сайта.
Рисунок 1 – Структура файла index.php «Главная»
Для реализации текущих задач было принято решение разработать 5 модулей, которые будут связываться с СУБД и запрашивать либо изменять информацию.
Все настройки подключения к БД выведены в отдельный файл (Settings.php), в случае изменения расположения, имени, авторизационных данных, достаточно внести изменения в этот файл.
Все последующие модули выполняют подключение к этому файлу, для связи с БД.
Для реализации регистрации и авторизации были созданы файлы register.php и login.php соответственно (Приложение 2).
Данные функции предусматривают наличие ошибок при не соответствии требованиям (30 символов < Логин < 3 символов, Логин должен состоять из букв Латинского алфавита и т.д.).
Все модули представлены в Таблице 1.
Таблица 1 – Основные модули
|
Модуль |
Описание |
|
Settings.php |
Модуль с настройками для связи с СУБД |
|
Register.php |
Модуль регистрации нового пользователя |
|
Login.php |
Модуль авторизации пользователя |
|
Logout.php |
Модуль для завершения авторизированного входа |
|
Forum.php |
Модуль для отображения раздела «Форум» |
3. Описание структуры базы данных и ее функций
Для реализации необходимого функционала была создана база «mybase», с таблицами «users» для обеспечения процесса регистрации/авторизации, «about_cont» для хранения информации отображаемой на странице «О нас», «forum» для добавления, чтения информации для раздела «Форум».
Данные в полях «user_password» и «user_hash» - шифруются.
Для определения текущего пользователя используются файлы COOKIE хранящиеся на устройстве пользователя в случае авторизации и сравниваются с данными в таблице «users».
Рисунок 2 – ER модель
Cписок данных хранящихся в таблицах базы данных:
- информация о пользователях;
- контент для страницы «О нас»;
- контент для страницы «Форум».
4. Описание структуры клиентской части
Клиентская часть сайта состоит из нескольких страниц для отображения определённых разделов сайта.
Основные разделы сайта:
- Главная;
- О нас;
- Форум;
- Контакты.
На веб ресурсе реализованы несколько видов пользователей («Администратор», «Клиент» и «Гость»). Если посетитель авторизируется как «Администратор», ему становится доступен дополнительный раздел «Панель администратора», для управления и редактирования информации.
На странице «О нас», любой пользователь может оставить сообщение (Приложение 1). Данные отправляются в таблицу «forum» и выводятся на это же странице.
Чтобы авторизироваться/зарегистрироваться на ресурсе, необходимо нажать на кнопку «Войти», которая находится в «Шапке» сайта, чтобы попасть на страницу авторизации (рисунок 3).
Рисунок 3 – Кнопка «Войти»
Если пользователь не зарегистрирован, ему необходимо нажать на кнопку «Зарегистрироваться», чтобы попасть на страницу регистрации (рисунок 4).
Рисунок 4 – Страница авторизации
Чтобы оставить сообщение на форуме, необходимо зайти в раздел «Форум» и написать в форму сообщение, которое пользователь хочет оставить. После этого нажать на кнопку «Отправить» и сообщение появится в «Ленте сообщений» (Приложение 1).
ЗАКЛЮЧЕНИЕ
В процессе разработки данного веб ресурса, я обрёл навык работы с PHP в связке с MySql, что позволило мне открыть для себя новые способы разработки динамических веб страниц. Так, я смог упростить взаимодействие с элементами сайта, выведя их в отдельные файлы, организовал удобное обновление контента на определённой странице и реализовал функции обмена сообщениями.
Целью проекта являлось – разработать сайт «Я помогаю детям» с использованием HTML, CSS, PHP.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Основная литература:
- Мейер, Б. Инструменты, алгоритмы и структуры данных / Б. Мейер. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016.
- Савельева, Н.В. Язык программирования PHP / Н.В. Савельева. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
- Прохоренок, Н. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / Н. Прохоренок. - СПб.: БХВ - Петербург., 2010. - 900 с.
- Мазуркевич, А. PHP: настольная книга программиста / А. Мазуркевич. - М.: Новое знание, 2003. - 480 с.
Дополнительная литература:
- Богданов, М.Р. Перспективные языки веб-разработки / М.Р. Богданов. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
- http://biblioclub.ru/index.php?page=book&id=428953
- Никсон, Р. Создаем динамические web-сайты с помощью PHP, MySQL и JavaScript / Р. Никсон. - П.: Питер, 2011. - 496 с.
- PHP, SQL [Electronic resource] / блог. - Россия, 2010.: http://phpsql.ru/.
- Томсон, Л. Разработка Web-приложений на РНР и MySQL/ Л. Томсон. - М.: ДиаСофтЮП, 2003. - 672 с.
- PHPForum [Электронный ресурс] /форум.- Россия, 2003. - Режим доступа: http://phpforum.ru. - Дата доступа: 09.02.2012.
ПРИЛОЖЕНИЕ 1
ПРИЛОЖЕНИЕ 2
Index.php
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Курсовая работа ВБИо-302 | Первушин Егор</title>
<link rel="stylesheet" href="css/style.css">
<link rel="shortcut icon" href="/img/favicon.ico">
</head>
<body>
<?php include "header.php";?> <!-- Подключаем содержимое header.php "Шапки сайта" -->
<div class="content">
<div class="slide">
<h1>Добро пожаловать на сайт благотвотрительного фонда <br> "Я ПОМОГАЮ ДЕТЯМ"</h1>
<h3>ДЕЛАЙТЕ ДОБРЫЕ ДЕЛА ВМЕСТЕ С НАМИ!</h3>
</div>
<div class="home">
<div class="column main">
<?php include "maincont.php";?> <!-- Подключаем содержимое maincont.php "Основоного контента главной страницы" -->
</div>
<div class="column sidebar">
<?php include "sidebar.php";?> <!-- Подключаем содержимое sidebar.php "Бокового раздела" -->
</div>
</div>
</div>
<?php include "footer.php";?> <!-- Подключаем содержимое footer.php "Подвала сайта" -->
</body>
</html>
About.php
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Курсовая работа ВБИо-302 | Первушин Егор</title>
<link rel="stylesheet" href="css/style.css">
<link rel="shortcut icon" href="/img/favicon.ico">
</head>
<body>
<?php include "header.php";?>
<div class="content">
<div class="home">
<div class="column main">
<h2>О нас</h2>
<?php
// Соединямся с БД
include "admin/settings.php";
// Читаем и выводим информацию из БД а именно таблицы about_cont и столбца content
$sql = mysqli_query($link, 'SELECT `content` FROM `about_cont`');
while ($result = mysqli_fetch_array($sql)) {
echo "{$result['content']}<br>";
}
?>
</div>
<div class="column sidebar">
<?php include "sidebar.php";?>
</div>
</div>
</div>
<?php include "footer.php";?>
</body>
</html>
Header.php
<?php
include "admin/settings.php";
//УЗНАЁМ ТЕКЩЕГО ПОЛЬЗОВАТЕЛЯ!!!
$sql = mysqli_query($link, "SELECT user_login FROM users WHERE user_hash= '".$_COOKIE['hash']."' ");
while ($result = mysqli_fetch_array($sql)) {
$username = $result['user_login'];
}
if ($username == '') {
$username = 'гость';
}
?>
<div class="header">
<div class="logo">
<a href="index.php"><img src="img/logo.png" alt=""></a>
<h4>Привет<b> <?php echo "$username"; ?></b>!</h4>
</div>
<div class="headcont">
</div>
<div class="menu">
<a href="index.php">Главная</a>