Файл: Разработка сайта «Я помогаю детям» (Техническое задание и выбор средств реализации).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 15.05.2023

Просмотров: 133

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

Интернет стал, наиболее эффективным средством рекламы и продвижения и является одним из важных элементов современной цивилизации. Интернет может удовлетворить все потребности современного человека: это покупки, заключение деловых отношений, поиск клиентов и так далее. Но многие заходят в Интернет читать, развлекаться, общаться, узнавать что-то новое для себя. Поэтому создание сайтов стало таким популярным.

В Интернете свое место нашли и благотворительные организации. В настоящее время с помощью сети Интернет можно найти информацию о всевозможных фондах, проектах нацеленных на привлечении внимания к проблеме финансирования детских домов, приютов, интернатов.

Но, к сожалению, растет число мошеннических сайтов, которые вводят в заблуждение пользователей сети интернет, что несомненно подрывает репутацию всей сферы благотворительности.

Актуальность курсового проекта состоит в том, что в настоящее время существует большое количество сайтов на данную тематику, но актуальность информации, способ потребления информации – не всегда соответствует требованиям пользователей сети интернет.

Объектом исследования является процесс разработки сайта.

Цель – разработать сайт «Я помогаю детям» с использованием HTML, CSS, PHP.

Задачи:

  1. Проанализировать существующие языки для написания сайта;
  2. Рассмотреть функциональные возможности HTML;
  3. Рассмотреть источники по теме;
  4. Разработать макет сайта;
  5. Наполнить сайт информацией по теме;
  6. Разработать руководство пользователя. 

Практическая значимость проекта заключается в том, что с помощью данного сайта можно ознакомиться с текущей деятельностью организации в сети интернет.

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.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Основная литература:

  1. Мейер, Б. Инструменты, алгоритмы и структуры данных / Б. Мейер. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016.
  2. Савельева, Н.В. Язык программирования PHP / Н.В. Савельева. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
  3. Прохоренок, Н. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / Н. Прохоренок. - СПб.: БХВ - Петербург., 2010. - 900 с.
  4. Мазуркевич, А. PHP: настольная книга программиста / А. Мазуркевич. - М.: Новое знание, 2003. - 480 с.

Дополнительная литература:

  1. Богданов, М.Р. Перспективные языки веб-разработки / М.Р. Богданов. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
  2. http://biblioclub.ru/index.php?page=book&id=428953
  3. Никсон, Р. Создаем динамические web-сайты с помощью PHP, MySQL и JavaScript / Р. Никсон. - П.: Питер, 2011. - 496 с.
  4. PHP, SQL [Electronic resource] / блог. - Россия, 2010.: http://phpsql.ru/.
  5. Томсон, Л. Разработка Web-приложений на РНР и MySQL/ Л. Томсон. - М.: ДиаСофтЮП, 2003. - 672 с.
  6. 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>