Файл: Разработка серверных приложений для WEB - Разработка сайта спортшколы SportLife.pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

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

Также для организации связи с базой данных и получения или добавления в нее информации необходимо установить соединение с сервером базы данных. Связь с базой данных устанавливается при помощи определенных параметров, характеризующих соединение. Модуль ini.php, в котором содержится следующий код:

<?php

const USER = 0;

const ADMIN = 1;

const DB_NAME = "box";

const DB_USER = "root";

const DB_HOST = "127.0.0.1";

const DB_PASS = "";

Права администратора выдаются только через БД сайта.

Описание структуры базы данных и ее функций

После проработки структуры сайта и разработаем базу данных системы. Сначала необходимо подготовить инфологическую модель базы данных.

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

Описание каждой сущности производится при помощи данных, называемых свойствами сущности или Атрибутами. Атрибуты, как правило, представляют собой определения в высказывании о сущности и для их обозначения, они используют имена существительные естественного языка. Сущности, как правило имеют связи друг с другом при посредстве включенных в них атрибутов. Каждое объединение атрибутов, составляющих описание одного реального проявления сущности, представляет из себя экземпляр сущности. Другими словами, экземпляры сущности – это ее реализации, которые отличаются друг от друга и допускают однозначную идентификацию.

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

Основной компьютерный способ распознавания сущностей в базе данных является присвоение сущностям идентификаторов. Идентификатор сущности-это ключ.


Построим описание атрибутов сущностей разрабатываемой системы.

(Таблица 3.1).

Описание сущности Категории

Атрибут

Ключ

Значение

Домен

Код категории

+

Идентификатор записи

Число

Наименование

Наименование категории

Текст

(Таблица 3.2).

Описание сущности Пользователи

Атрибут

Ключ

Значение

Домен

Код пользователя

+

Идентификатор записи

Число

Имя

Имя пользователя

Текст

E-mail

E-mail пользователя

Текст

Пароль

Пароль пользователя

Текст

Группа

Группа пользователя

Число

Статус

Статус оплаты пользователем

Текст

Роль

Роль пользователя

Текст

(Таблица 3.3).

Описание сущности Инструкторы

Атрибут

Ключ

Значение

Домен

Код инструктора

+

Идентификатор записи

Число

Имя

Имя инструктора

Текст

Группа

В какой группе инструктор преподает

Текст

E-mail

E-mail инструктора

Текст

Автомобиль

Автомобиль инструктора

Текст

Коробка передач

Коробка передач на автомобиле

Текст

Номер телефона

Номер телефона инструктора

Текст

(Таблица 3.4)

Описание сущности Ученики

Атрибут

Ключ

Значение

Домен

Код пользователя

+

Идентификатор записи

Число

Имя

Имя ученика

Текст

E-mail

E-mail ученика

Текст

Статус

Статус оплаты ученика

Текст

Группа

Группа ученика

Текст

Номер телефона

Номер телефона ученика

Текст

На основе построенных описаний сущностей и их атрибутов построим схему базы данных, представленную далее (Рисунок 3.1).


Рисунок 3.1 – Схема базы данных

Для доступа и управления данными в программном комплексе системы Спорт школа «SportLife», на уровне бизнес-логики приложения используются хранимые процедуры MySQL.

Данные процедуры организовывают управление данными, удаление записей, добавление записей в таблицы, проведение комплексных изменений в нескольких таблицах системы.

.

Описание структуры клиентской части

Описание интерфейса «Обычный пользователь»

Начало работы начинается с главной страницы сайта (Рисунок 4.1).

Рисунок 4.1 – Главная страница сайта

Для получения доступа к функционалу пользователя, необходимо воспользоваться кнопкой «Вход», которая направит пользователя на форму запроса данных для входа в систему. (Рисунок 4.2)

Рисунок 4.2 – Вход в систему

Появившийся новый пункт “Ваши данные”, служит для просмотра имени, e-mail, группы и статуса оплаты обучения для обучающегося. Для завершения работы необходимо использовать кнопку Выйти.

Описание интерфейса «Администратор»

Если воспользоваться входом в систему под аккаунтом администратора я использовал следующий код:

<?php
if($usRole > 0) {
?>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Панель администратора
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="genree.php">Справочник</a>
<a class="dropdown-item" href="placeType.php">Ручная запись</a>
<div class="dropdown-divider"></div>

</div>
</li>
<?php
}
?>

Рисунок 4.3 – Меню администратора

В данном виде меню появилось несколько пунктов: Справочник и ручная запись. При помощи пункта «Справочник» система имеет возможность вносить изменения в справочники системы. При помощи пункта «Ручная запись» администратор системы может вручную перезаписать ученика или зарегистрировать его, если нужно будет.

Рисунок 4.4 – Новый справочник

Инструкция пользователя

Для удобного просмотра сайта, можно использовать меню системы. (4.5).


Рисунок 4.5 – Меню сайта

Так же присутствует кнопка «вход», чтобы войти в свой личный кабинет и регистрация, для регистрации новых пользователей. (Рисунок 4.6).

Рисунок 4.6 – Меню авторизации пользователя.

По кнопке регистрация происходит переход на форму регистрации в системе (Рисунок 4.7).

Рисунок 4.7 – Форма регистрации

Рисунок 4.8– Страница с ценами

Заключение

В процессе выполнения работы была создана база данных, с применением среды MySQL. Реализация проекта велась с применением языков CSS, HTML, PHP, а также частично использованием языка SQL запросов для изменения информации в связанной базе данных системы.

Результатом работы явилось достижение целей:

  • практические навыки создания web-ресурса с применением языка программирования PHP.
  • закрепление теоретического материала по дисциплинам, связанных с изучением баз данных;

Литература

  1. Чои Вин. Как спроектировать современный сайт. Питер, Санкт-Петербург, 2011. ISBN 978-5-459-00579-0.
  2. Дронов, В. HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов / В. Дронов. - М.: БХВ-Петербург, 2011. - 416 c. ISBN 978-5-9775-0596-3.
  3. Adobe Dreamweaver CS6. Официальный учебный курс. Эксмо, Москва, 2014. ISBN 978-5-699-69655-0.
  4. Н. Закас, Джереми Мак-Пик, Джо Фосетт. Ajax для профессионалов. Перевод: Александр Киселев. Символ, Санкт-Петербург, 2015. ISBN 978 5 93286-081-6.
  5. Вадим Дунаев. HTML, скрипты и стили. BHV, Санкт-Петербург, 2015. ISBN 978-5-9775-3317-1.
  6. Алан Купер, Дэйв Кронин, Кристофер Носсел, Роберт Рейман. Алан Купер об интерфейсе. Основы проектирования взаимодействия. Символ, Санкт-Петербург, 2015. ISBN 978-5-93286-132-5
  7. Кирилл Сухов. HTML 5. Путеводитель по технологии. ДМК, Москва, 2013. ISBN 978-5-94074-910-3.

Исходные коды

<?php
include_once ("header.php");
include_once ("showMenu.php");
?>

<div class="jumbotron">
<h4>Спортиная школа бокса "SportLife"</h4>
<p>

</p>

<img src="img/box2.jpg" alt="" class="img-fluid">

<hr class="my-4">
<p class="lead">
<a class="btn btn-primary btn-lg" href="info.php" role="button">Цены</a>
</p>
</div>


<?php


include_once ("footer.php");

showMenu.php

<?php

?>

<header class="bg-secondary">
<nav class="navbar navbar-expand-md navbar-green bg-dark sticky-top">
<!-- Brand -->
<!-- <a class="navbar-brand" href="index.php">-->
<!-- </a>-->

<!-- Toggler/collapsibe Button -->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
<span class="navbar-toggler-icon"></span>
</button>

<!-- Navbar links -->
<div class="collapse navbar-collapse" id="collapsibleNavbar">
<ul class="navbar-nav main-menu">
<li class="nav-item">
<a class="nav-link" href="index.php">Главная</a>
</li>
<li class="nav-item">
<a class="nav-link" href="info.php">Цена</a>
</li>
<li class="nav-item">
<a class="nav-link" href="zapis.php">Запись на первую бесплатную тренировку</a>
</li>
<li class="nav-item">
<a class="nav-link" href="aboutus.php">О&nbsp;нас</a>
</li>
<?php
if($usRole > 0) {
?>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Панель администратора
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="genree.php">Справочник</a>
<a class="dropdown-item" href="placeType.php">Ручная запись</a>
<div class="dropdown-divider"></div>

</div>
</li>
<?php
}
?>
</ul>
<ul class="navbar-nav ml-auto admin-menu">
<?php
if($id_us == 0) {
?>
<li class="nav-item">
<form class="form-inline" action="register.php" method="get">
<button class="btn btn-outline-warning">Регистрация</button>
</form>
</li>
<li class="nav-item ml-1">
<form class="form-inline" action="enter.php" method="get">
<button class="btn btn-success">Вход</button>
</form>
</li>
<?php
}
else {
?>
<li class="nav-item">
<form class="form-inline" action="exit.php">
<button class="btn btn-danger" type="submit">Выход</button>
</form>
</li>
<?php
}
?>
</div>
</ul>
</nav>
</header>