Файл: Разработка одностраничного сайта Веллонс.РУ (Средства реализации).pdf

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

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

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

Добавлен: 28.06.2023

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

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

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

Для того, чтобы обеспечить взаимодействие каждого посетителя с его данными из его сессии используется файл cookie, команду создать который PHP даёт сам, вам об это беспокоится не нужно. Этот cookie имеет значение только для сервера и не может быть использован для получения данных о пользователе.

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

Для проверки был ли осуществлен вход пользователя в систему и с какими правами создан модуль chkSession.php, вызываемый перед началом обработки каждого скрипта или вывода страницы сайта.

В данном модуле содержится следующий код:

<?php

$id_us = 0;

$usRole = 0;

$usName = "";

if(isset($_SESSION["id_us"]))

$id_us = (int)$_SESSION["id_us"];

if(isset($_SESSION["usRole"]))

$usRole = (int)$_SESSION["usRole"];

if(isset($_SESSION["usName"]))

$usName = $_SESSION["usName"];

Здесь переменные $id_us, $usRole, $usName используются для получения информации о коде пользователя, его имени и правах входа. Если переменная $id_us после проверки равна 0 – значит пользователя в системе не зарегистрировано.

Если $id_us > 0 и $гsRole>0 значит в систему вошел администратор, если при не нулевом $id_us значение $usRole равно 0 – в настоящее время работу с сайтом осуществляет рядовой пользователь.

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

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

<?php

// авторизация роли

const USER = 0;

const ADMIN = 1;

// база данных, соединение

const DB_NAME = "wellonce";

const DB_USER = "root";

const DB_HOST = "localhost";

const DB_PASS = "";

    

?>

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

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

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


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

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

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

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

Описание сущности Новости (Таблица 3.1).

Таблица 3.1 – Атрибуты сущности Новости

Атрибут

Ключ

Значение

Домен

Код новости

+

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

Число

Название

Наименование фильма

Текст

Дата

Дата новости

Число

Код новости

Новость к которой отностися.

Текст

Описание сущности Пользователь (Таблица 3.2).

Таблица 3.2 – Атрибуты сущности Пользователь

Атрибут

Ключ

Значение

Домен

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

+

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

Число

E-Mail

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

Текст

Пароль

Пароль для входа в систему

Текст

Роль

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

Число

Имя

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

Текст


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

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

Приведем пример кода для процедуры register:

<?php

/**

* Created by PhpStorm.

* User: admin

* Date: 17.03.2019

* Time: 0:24

*

* Регистрация пользователя в системе

*/

include_once ("chkSession.php");

// проверить вход в систему если выполнен - перейти на главную

if($id_us > 0) {

header("Location: index.php");

exit;

}

include_once ("header.php");

include_once ("showMenu.php");

?>

<form id="newUser" action="regUser.php" method="post" class="ml-auto mr-auto col-md-8 col-lg-6">

<h2>Регистрация нового пользователя</h2>

<div class="form-group">

<label>Имя</label>

<input type="text" name="usName" value="" class="form-control" required="required">

</div>

<div class="form-group">

<label>E-Mail</label>

<input type="email" name="usMail" value="" class="form-control" required="required">

</div>

<div class="form-group">

<label>Пароль</label>

<input type="password" id="usPass" name="usPass" value="" class="form-control" required="required">

</div>

<div id="lastPass" class="form-group">

<label>Повтор пароля</label>

<input type="password" id="usPass2" name="usPass2" value="" class="form-control" required="required">

</div>

<button type="submit" class="btn btn-success">Зарегистрировать</button>

<a href="index.php" class="btn btn-warning">Отмена</a>

</form>

<?php

include_once ("footer.php");

Данная процедура используется для получения информации о демонстрации фильмов на определенную дату.

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

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

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

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

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

Рисунок 4.2 – Меню обычного пользователя

Для завершения работы необходимо использовать кнопку Выход.

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

Если воспользоваться входом в систему под аккаунтом администратора меню примет следующий вид (Рисунок 4.3).


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

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

Для перемещения и управления функционалом необходимо использовать систему меню информационной системы (Рисунок 4.7).

Рисунок 4.7 – Меню информационной системы

Для входа в систему служит кнопка вход, для регистрации – Регистрация. По кнопке регистрация происходит переход на форму регистрации в системе (Рисунок 4.8).

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

Для зарегистрированных пользователей доступна возможность комментирования записей

Рисунок 4.9 – Велонс ру

Заключение

В ходе выполнения данной работы были решены следующие задачи

  • дано общее описание автоматизируемого объекта;
  • построена модель базы данных;
  • спроектировано и реализовано приложение для работы и управления созданной базой данных с применением web-технологий.

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

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

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

Разработана информационная система сайта Welonce.ru Система создана с применением современных средств и технологий, имеет адаптивный дизайн, проверена и протестирована для отображения на мобильных и десктопных устройствах.

Литература

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

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

Index.php

<?php

/**

* Created by PhpStorm.

* User: admin

* Date: 29.03.2019

* Time: 22:50

*/

include_once ("chkSession.php");

include_once ("header.php");

include_once ("showMenu.php");

?>

<div class="jumbotron">

<h2>ВЕЛЛОНС.РУ – WELLONS в России!</h2>

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

<hr class="my-4">

<p class="lead">

<a class="btn btn-primary btn-lg" href="welonce.php" role="button">Подробнее</a>

</p>

</div>

<?php

include_once ("footer.php");

header.php

<?php

/**

* Created by PhpStorm.

* User: admin

* Date: 16.03.2019

* Time: 12:11

*/

?>

<!DOCTYPE html>

<html lang="ru">

<head>

<title>Сайт компании &laquo;ВЕЛЛ-ПЛАСТ&raquo;</title>

<meta charset="utf-8">

<!-- подключить Bootstrap -->

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">

<!-- Подключить стили-->

<link rel="stylesheet" href="css/wellplast.css">

<script src="js/wellplast.js"></script>

</head>

<body>

<div class="container">

<div class="headphones bg-white">

<div class="row">

<div class="col-md-3 col-sm-6 text-sm-center text-md-left">

<img src="img/logos.png" alt="" class="img-fluid pt-3">

</div>

<div class="col-md-3 mt-auto mb-auto text-md-center col-sm-6 text-sm-center">

</div>

<div class="col-md-3 text-md-right col-sm-6 text-sm-center mb-auto mt-auto align-middle">

<span class="notes">Время работы:</span><br>

<i class="far fa-clock"></i>

<span class="information">Пн-Вс: 9:00-21:00</span><br>

<span class="notes">Наш адрес:</span><br>

<i class="fas fa-map-marker-alt"></i>

<span class="information">ул. Красноармейская, 18</span>

</div>

<div class="col-md-3 mt-auto mb-auto col-sm-6 text-md-right text-sm-center align-middle">

<span class="notes">Зам. Администратора:</span><br>

<i class="fas fa-phone-volume"></i>

<span class="information">8 800 125-00-19</span><br>

<span class="notes">Администратор:</span><br>

<i class="fas fa-phone-volume"></i>

<span class="information">8 800 125-12-08</span><br>

</div>

</div>

</div>

<!-- Modal -->

<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">

<div class="modal-dialog modal-dialog-centered modal-lg" role="document">

<div class="modal-content">

<div class="modal-body">

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

</div>

<div class="modal-footer">

<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>

</div>

</div>

</div>

</div>