Файл: РАЗРАБОТКА ПРОМО САЙТА ДЛЯ МАГАЗИНА НИЖНЕГО БЕЛЬЯ PSSPWR.RU.pdf

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

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

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

Добавлен: 18.05.2023

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

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

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

Клиентская часть приложения делится на три части с разными настройками доступа :

  • гостевая часть (светло серый фон) – данная часть состоит из страницы авторизации и страницы регистрации, которые доступны всем посетителям сайта (зарегистрированным или незарегистрированным),
  • административная часть (темно серый фон) – данная часть состоит из страницы администратора, а также страниц добавления, редактирования и удаления информации, которые доступны только администратору сайта,
  • пользовательская часть – данная часть состоит из страниц сайта, представляющих основную информацию об услугах праздничного агентства, которые доступны только зарегистрированным пользователям

Общая структура клиентской части приложения представлена на рисунке .

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

Интерфейс обычного пользователя состоит из страниц, которые

представляют собой основное содержание сайта магазина нижнего белья:

  • Главная,
  • О нас,
  • Обратная связь,
  • Меню авторизации,
  • Окно регистрации

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

Интерфейс администратора предназначен для управления данными в

базе данных.

На главной странице интерфейса администратора представлены три

ссылки, каждая из которых открывает соответствующую форму:

  • добавление информации в базу данных,
  • редактирование информации в базе данных,
  • удаление информации из базы данных.

Заключение

В первом разделе дана краткая характеристика организационной

структуры онлайн-магазина нижнего белья ручной работы PssPwr.ru, а также описаны основные бизнес-процессы, при выполнении которых используется сайт.

Обоснован выбор следующих средств разработки:

  • язык запросов – SQL,
  • система управления базами данных – MySQL,
  • язык гипертекстовой разметки – HTML,
  • язык программирования на стороне сервера – PHP.

Во втором разделе разработана структура серверной части приложения,

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

В третьем разделе разработана база данных, которая предназначена для

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

информации сайта.

В четвертом разделе разработана структура клиентской части

приложения с разделением на интерфейсы администратора и обычного

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

Таким образом, в процессе выполнения работы были решены все

задачи, поставленные перед началом её выполнения:

1. Произведен анализ организационной структуры промо-сайта

2. Выбраны технические и программные средства разработки

3. Произведена декомпозиция бизнес-процессов деятельности организации

4. Спроектирована серверная часть приложения

5. Спроектирована базу данных

6. Разработана структура сайта

В результате выполнения работы достигнута её основная цель –

разработан промо-сайт онлайн-магазина нижнего белья PssPwr.ru.

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

  1. Куликов Г.Г. Набатов А.Н. Речкалов А.В. Автоматизированное проектирование информационно-управляющих систем. Системное моделирование предметной области.. — Уфа: Уфимский государственный авиационный технический университет, 1998. — 104 с. — ISBN 5-89611-190-0.
  2. Мейер, Б. Инструменты, алгоритмы и структуры данных / Б. Мейер. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016.
  3. Прохоренок, Н. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / Н. Прохоренок. - СПб.: БХВ - Петербург., 2010. - 900 с.
  4. Богданов, М.Р. Перспективные языки веб-разработки / М.Р. Богданов. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
  5. Савельева, Н.В. Язык программирования PHP / Н.В. Савельева. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
  6. Никсон, Р. Создаем динамические web-сайты с помощью PHP, MySQL и JavaScript / Р. Никсон. - П.: Питер, 2011. - 496 с.
  7. Томсон, Л. Разработка Web-приложений на РНР и MySQL/ Л. Томсон. - М.: ДиаСофтЮП, 2003. - 672 с.
  8. PHPForum [Электронный ресурс] /форум.- Россия, 2003. - Режим доступа: http://phpforum.ru. - Дата доступа: 09.02.2012.
  9. Харрис, Э. PHP/MySQL для начинающих / Э. Харрис. - М.: Кудиц - образ, 2005.
  10. Парк, Д. PHP и MySQL. Библия программиста / Д. Парк, С. Суэринг. - Диалектика, 2010. - 912 с.
  11. Гущин А.Н. Базы данных: учебник. - М.: Директ-Медиа, 2014. - 266с
  12. Дейт К. Дж. Введение в системы баз данных = IntroductiontoDatabaseSystems. — 8-е изд. — М.: «Вильямс», 2006. — 1328 с. — ISBN 0-321-19784-4.
  13. Peter Pin-Shan Chen «The Entity-Relationship Model — Toward a Unified View of Data» (англ.) // ACM Transactions on Database Systems (TODS) : Сб. — Нью-Йорк: ACM, 1976. — Vol. 1. — P. 9-36. — ISSN 0362-5915. — DOI:10.1145/320434.320440.
  14. Когаловский М. Р. Энциклопедия технологий баз данных. — М.: Финансы и статистика, 2002. — 800 с. — ISBN 5-279-02276-4.
  15. Федоренко, Е.В.Базы данных: учебное пособие / Е.В. Федоренко, А.С. Самардак. – М. : Находка, 2016. – 116 с.
  16. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системыбазданных. Полныйкурс = Database Systems: The Complete Book. — Вильямс, 2003. — 1088 с. — ISBN 5-8459-0384-X.
  17. MySQL 5.7 Reference Manual [Электронныйресурс] // Официальныйсайт MySQL URL: https://dev.mysql.com/doc/refman/5.7/en/
  18. Учебное пособие по MySQL [Электронный ресурс] URL:http://www.mysql.ru/docs/man/Tutorial.html
  19. Триггеры в MySQL [Электронный ресурс] URL: https://habrahabr.ru/sandbox/65316/
  20. Date, C. J. Database in Depth. — O'Reilly, 2005. — 240 с. — ISBN 0-596-10012-4.

Приложение

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

<?php

$dbc = mysqli_connect('localhost', 'root', '', 'lesson') OR DIE('Ошибка подключения к базе данных'); // Устанавливает новое соединение с сервером MySQL и проверка OR DIE

if(isset($_POST['submit'])){ /*Определяет, была ли установлена переменная значением, отличным от NULL*/

$username = mysqli_real_escape_string($dbc, trim($_POST['username'])); // trim — Удаляет пробелы (или другие символы) из начала и конца строки

$password1 = mysqli_real_escape_string($dbc, trim($_POST['password1'])); // Эта функция используется для создания допустимых в SQL строк,

$password2 = mysqli_real_escape_string($dbc, trim($_POST['password2'])); // которые можно использовать в SQL выражениях. Заданная строка кодируется в экранированную SQL строку, используя текущий набор символов подключения.

if(!empty($username) && !empty($password1) && !empty($password2) && ($password1 == $password2)) {

$query = "SELECT * FROM `signup` WHERE username = '$username'";

$data = mysqli_query($dbc, $query); // Выполняет запрос к базе данных

if(mysqli_num_rows($data) == 0) { // Возвращает количество рядов результата запроса

$query ="INSERT INTO `signup` (username, password) VALUES ('$username', SHA('$password2'))";

mysqli_query($dbc,$query);

echo 'Всёготово, можетеавторизоваться';

mysqli_close($dbc); // Закрывает ранее открытое соединение с базой данных

exit();

}

else {

echo 'Логин уже занят';

}

}

}

?>

Фрагмент кода модуля стиля CSS

a {

text-decoration: none;

color: #302172;

}

ul {

list-style-type: none;

}

body {

font-family: Arial, sans-serif;

font-size: 0.85em;

margin: 0 20%;

}

header {

width: 100%;

height: 400px;

background: url("../images/4.jpg");

position: relative;

margin-bottom: 15px;

}

header ul {

width: 100%;

position: absolute;

bottom: 0;

text-align: center;

}

Фрагмент кода модуля отображения данных, который создает COOKIES файлы на сайте, и проверяет подключение к базе данных:

<?php

$dbc = mysqli_connect('localhost', 'root', '', 'lesson'); // Устанавливает новое соединение с сервером MySQL

if(!isset($_COOKIE['user_id'])) /*Определяет, была ли установлена переменная значением, отличным от NULL*(нажатие на кнопку)*/ {

    if(isset($_POST['submit'])) {

        $user_username = mysqli_real_escape_string($dbc, trim($_POST['username'])); // Эта функция используется для создания допустимых в SQL строк,

        $user_password = mysqli_real_escape_string($dbc, trim($_POST['password'])); // которые можно использовать в SQL выражениях. Заданная строка кодируется в экранированную SQL строку, используя текущий набор символов подключения.


        if(!empty($user_username) && !empty($user_password))/*если оба поля не пустые создаем запрос в базу данных*/ {

            $query = "SELECT `user_id` , `username` FROM `signup` WHERE username = '$user_username' AND password = SHA('$user_password')"; // Secure Hash Algorithm 1 — алгоритмкриптографическогохеширования.

            $data = mysqli_query($dbc,$query); // Выполняет запрос к базе данных (с помощью неё можно сделать всё)

            if(mysqli_num_rows($data) == 1) { // Если нашло хотя бы одну запись, тогда выполняем ->

                $row = mysqli_fetch_assoc($data); // Обрабатывает ряд результата запроса и возвращает ассоциативный массив (Если нашло, то присваевыемровуусернейм и усерайди)

                setcookie('user_id', $row['user_id'], time() + (60*60*24*30)); // Задает cookie, которое будет передано клиенту вместе с другими HTTP-заголовками.

                setcookie('username', $row['username'], time() + (60*60*24*30)); // Возвращает текущую метку системного времени Unix (30 дней будет жить куки)

                $home_url = 'http://' . $_SERVER['HTTP_HOST'];

                header('Location: '. $home_url); // Используется для отправки HTTP-заголовка. После того как скрипт прошел, переходим на главную страницу

            }

            else {

                echo 'Errorpassword';

            }

        }

        else {

            echo 'Авторизуйтесь для входа';

        }

    }

}

<?php

unset($_COOKIE['user_id']); //unset удаляет переменную

unset($_COOKIE['username']);

setcookie('user_id', '', -1, '/');

setcookie('username', '', -1, '/');

$home_url = 'http://' . $_SERVER['HTTP_HOST'];

header('Location: ' . $home_url);

?>

<?php

$dbc = mysqli_connect('localhost', 'root', '', 'lesson') OR DIE('Ошибка подключения к базе данных'); // Устанавливает новое соединение с сервером MySQL и проверка OR DIE

if(isset($_POST['submit'])){ /*Определяет, была ли установлена переменная значением, отличным от NULL. Когд происходит отправка данных формы php - скрипту, информация из этой формы становится доступной ему.*/

$username = mysqli_real_escape_string($dbc, trim($_POST['username'])); // trim — Удаляет пробелы (или другие символы) из начала и конца строки

$password1 = mysqli_real_escape_string($dbc, trim($_POST['password1'])); // Эта функция используется для создания допустимых в SQL строк,

$password2 = mysqli_real_escape_string($dbc, trim($_POST['password2'])); // которые можно использовать в SQL выражениях. Заданная строка кодируется в экранированную SQL строку, используя текущий набор символов подключения.

if(!empty($username) && !empty($password1) && !empty($password2) && ($password1 == $password2)) {

$query = "SELECT * FROM `signup` WHERE username = '$username'";

$data = mysqli_query($dbc, $query); // Выполняет запрос к базе данных

if(mysqli_num_rows($data) == 0) { // Возвращает количество рядов результата запроса

$query ="INSERT INTO `signup` (username, password) VALUES ('$username', SHA('$password2'))";