Файл: Разработка сайта компании (ООО Управление и Инвестиции).pdf
Добавлен: 31.03.2023
Просмотров: 624
Скачиваний: 3
В приложении 2 показано, что после инициализации сессии идет проверка на существование глобальной переменной $_SESSION, с помощью функции isset().
isset() — определяет, была ли установлена переменная значением отличным от NULL. А если переменная вовсе не существует, тогда null не вернет, но выдаст ошибку.
В случае, если такие имеются и статус доступа дает подходит для выбранного типа страницы, то формируется страница, в случае, если переменные не находятся или статус не подходит, то пользователю не показывается закрытый контент и на экран выводится надпись, показанная на рисунке 15. То есть ы случае, если злоумышленник знает путь к закрытому контенту – у него не получится увидеть закрытую часть, потому что им не будут введены и записаны в сессии данные для доступа.
Рисунок 15. Закрытый доступ
Также в приложении 3 показано каким образом на сайте создаются глобальный массив переменных $_SESSION.
После завершения работы с сессией сначала нужно раз регистрировать все переменные сессии, а затем вызвать функцию unset(). Раз регистрация сеансовой переменной и уничтожение сессии происходит благодаря использованию функции session_destroy(). Этот процесс показан в приложении 3. На страницах закрытого доступа, присутствует кнопка «Выход», она передает значение методом GET на страницу основного сайта, где раз регистрирует созданные ранее глобальные переменные $_SESSION с помощью функции unset().
Процесс создания программного продукта в текстовом редакторе Atom продемонстрирован на рисунке 16.
![]() |
Рисунок 16. Процесс создания программного продукта |
-
Описание структуры базы данных и ее функций
Если табличный процессор Excel специально создан для решения задач обработки табличных данных, то существуют системы (приложения) для решения иных классов задач. В частности, очень большую роль играют сейчас программы (приложения, системы), цепь которых – хранение данных и выдача данных по запросу пользователя. Использование компьютеров именно для решения этого класса задач становится всё более массовым явлением.
Смело можно сказать, что такие задачи и необходимость их решения существуют в любой фирме, на любом предприятии. Основное понятие для подобного круга задач – база данных. Так называется файл или группа файлов стандартной структуры, служащая для хранения данных.
Для разработки программ, систем программ, работающих с базами данных, используются специальные средства – системы управления базами данных (СУБД). [8]
СУБД включает, как правило, специальный язык программирования и все прочие средства, необходимые для разработки указанных программ.
В настоящее время наиболее известными СУБД являются: Oracle Database, MS SQL Server, MySQL (MariaDB) и ACCESS. Последняя входит в состав профессионального офисного пакета Microsoft Office. Это современные системы с большими возможностями, предназначенные для разработки сложных программных комплексов.
Для разработки программного продукта используется локальный сервер Open Server, который представляет из себя пакет программ, для создания веб-сайта. Входящим в основной комплекс пакета является СУБД MySQL.
База данных (БД) – это совокупность массивов и файлов данных, организованная по определённым правилам, предусматривающим стандартные принципы описания, хранения и обработки данных независимо от их вида. Также можно дать следующее определение — совокупность организованной информации, относящейся к определённой предметной области, предназначенная для длительного хранения во внешней памяти компьютера и постоянного применения.
Виды баз данных:
- фактографическая – содержит краткую информацию об объектах некоторой системы в строго фиксированном формате;
- документальная – содержит документы самого разного типа: текстовые, графические, звуковые, мультимедийные;
- распределённая – база данных, разные части которой хранятся на различных компьютерах, объединённых в сеть;
- централизованная – база данных, хранящихся на одном компьютере;
- реляционная – база данных с табличной организацией данных;
- неструктурированная (NoSQL) – база данных, в которой делается попытка решить проблемы масштабируемости и доступности за счёт атомарности и согласованности данных, но не имеющих четкой (реляционной) структуры.
Одно из основных свойств базы данных – независимость данных от программы, использующих эти данные. Работа с базой данных требует решения различных задач, основные из них следующие:
- создание базы;
- запись данных в базу;
- корректировка данных;
- выборка данных из базы по запросам пользователя.
Задачи этого списка называются стандартными.
Следующее понятие, связанное с базой данных: программа для работы с базой данных – это программа, которая обеспечивает решение требуемого комплекса задач. Любая подобная программа должна уметь решать все задачи стандартного набора.
База данных в разных системах имеет различную структуру. В персональной электронно-вычислительной машине обычно используются реляционные базы данных – в таких базах файл является по структуре таблицей. В ней столбцы называются полями, строки – записями.
В БД содержатся банные некоторого множества объектов. Каждая запись содержит данные одного объекта. Каждая такая база данных определяется именем файла, списком полей, шириной полей.
Компьютеры, которые устанавливают и запускают программное обеспечение СУБД, называются клиентами. Когда им нужно получить доступ к данным, они подключаются к серверу СУБД. Это система «клиент-сервер».
В создании программного продукта понадобился база данных с реляционного вида.
MySQL – свободная реляционная система управления базами данных. Имеет свободных исходный код и входит в большинство пакетов локальных серверов, включая OpenServer.
Открытый исходный код означает, что вы можете свободно использовать и изменять его. Любой может установить программное обеспечение. Вы также можете изучить и настроить исходный код, чтобы он лучше соответствовал вашим потребностям.
Одно или несколько устройств (клиентов) подключаются к серверу через определённую сеть. Каждый клиент может сделать запрос из графического интерфейса пользователя (GUI) на своих экранах, и сервер выдаст желаемый результат, если оба конца понимают инструкцию. Не вдаваясь в технические аспекты, основные процессы, происходящие в среде MySQL, одинаковы:
- MySQL создаёт базу данных для хранения и управления данными, определяющими отношения каждой таблицы;
- клиенты могут делать запросы, вводя определённые команды SQL на MySQL;
- приложение сервера ответит запрошенной информацией и появится на стороне клиента.
Из преимуществ СУБД MySQL стоит отметить простоту использования, гибкость, низкую стоимость владения (относительно платных СУБД), а также масштабируемость и производительность.
MySQL позволяет хранить целочисленные значения со знаком и беззнаковые, длиной в 1, 2, 3, 4 и 8 байтов, работает со строковыми и текстовыми данными фиксированной и переменной длины, позволяет осуществлять SQL-команды SELECT, DELETE, INSERT, REPLACE и UPDATE, обеспечивает полную поддержку операторов и функций в SELECT- и WHERE- частях запросов, работает с GROUP BY и ORDER BY, поддерживает групповые функции COUNT(), AVG(), STD(), SUM(), MAX() и MIN(), позволяет использовать JOIN в запросах, в т.ч. LEFT OUTER JOIN и RIGHT OUTER JOIN, поддерживает репликацию, транзакции, работу с внешними ключами и каскадные изменения на их основе, а также обеспечивает многие другие функциональные возможности.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Есть и другие типы таблиц, разработанные сообществом.
PhpMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PhpMyAdmin позволяет через браузер и не только осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд.
Интерфейс phpMyAdmin показан на рисунке 17.
Рисунок 17. Интерфейс phpMyAdmin.
Программа управления базами данных открывается в окне браузера. Ее интерфейс лаконичен и понятен без дополнительного инструктажа. Существует и русифицированная версия. Интерфейс PhpMyAdmin состоит из окна, поделенного на две части.
Слева находится узкий столбец, в котором представлены список баз данных и древовидная структура каждой из них. Справа – рабочее окно, в котором отражаются содержимое ячеек базы, меню команд и служебные кнопки.
Возможности phpMyAdmin:
- интуитивно понятный веб-интерфейс;
- поддержка импорта данных из CSV и SQL;
- поддержка экспорта в различные форматы CSV, SQL, XML, PDF, ISO/IEC 26300 - OpenDocument текст и таблицы, Word, Excel, LATEX и другие;
- администрирование нескольких серверов;
- генерирование наглядных схем баз данных в виде PDF;
- создание комплексных запросов с помощью функции Запрос по шаблону;
- глобальный или частичный поиск в базе данных;
- трансформация данных в любой формат, используя набор предназначенных функций вроде отображения BLOB-данных в виде картинки или ссылки для скачивания и так далее.
Простота пользования и удобство интерфейса PhpMyAdmin предопределили его популярность и широту распространения во Всемирной сети. Эту программу включают в пакет серверного софта большинство хостеров, предоставляющих виртуальные площадки для размещения сайтов. Кроме того, она является частью пакета программ локальных серверов, используемых веб-разработчиками для отладки сайтов на домашних компьютерах. Например, она входит в состав популярных пакетов серверных программ Denwer, Apache и OpenServer.
Функциональная роль описывает набор навыков и действий, которые, как правило, выполняются отделом в организации, например, менеджер, директор или вице-президент. Функциональные роли заданы организационной структурой компании. Ресурсы назначаются этим ролям в этом отделе.
Функционал роли «Незарегистрированный пользователь»: просмотр главной страницы; страница «Каталог»; информации о каждом помещении; станица «Компания»; использование формы обратной связи; использование формы «Задать вопрос»; поиск по сайту; страница «Избранное».
Функционал роли «Менеджер»: авторизация; просмотр страницы с вопросами от пользователей; форма для отправки ответа на вопрос пользователя; просмотр страницы с заявками от клиентов; форма для вывески новых объявлений; форма для удаления не актуальных объявлений.
Функционал роли «Администратор»: авторизация; форма для регистрации новых сотрудников; форма для удаления неактуально учётной записи менеджера.
В соответствии с выше предоставленными функциональными ролями была спроектирована база данных, она показана на рисунке 18.
|
Рисунок 18. Структура базы данных. |
Имея спроектированную схему базы данных необходимо ее реализовать при помощи такого средства реализации как: PhpMyAdmin, присутствующий в пакете Open Server. Для этого необходимо запустить локальный сервер на персональном компьютере и в появившемся в закрепленной панели значка локального сервера открыть необходимое приложение. При запуске PhpMyAdmin пользователь попадает на страницу с авторизацией, так как это локальный сервер, в поле логин нужно ввести значение «root», что означает суперпользователь, у которого есть доступ к редактированию всех баз данных, а в пароле ничего вводить не надо, так как изначально его никто не устанавливает. После этой манипуляции пользователь попадает на главную страницу, в которой можно создано новую базу данных с наименованием Upravlenie. Важным моментом при создании новой базы данных в PhpMyAdmin, является установка кодировки, наиболее подходящей в разработке русскоязычного веб-сайта это кодировка «utf8_general_ci». В уже созданной базе данных необходимо создать таблицы с уже спроектированными полями.
Основной целью сайта является продвижение продаваемых и сдаваемых помещений компании «Управление и Инвестиции», для достижения этой цели необходимо создать каталог, в котором будет храниться вся информация о существующих предложениях. Таблица каталог включает в себя все необходимые поля, для полного информирования посетителя о интересующем его помещении. Таблица «Katalog» показана в таблице 2.
Таблица 2.
Таблица «Katalog»
|
Имя |
Тип |
Длинна/ значения |
Авто инкремент |
Прочее |
|
IdKatalog |
INT |
+ |
PRIMARY |
|
|
NameLot |
TEXT |
255 |
||
|
Price |
VARCHAR |
64 |
||
|
Addres |
VARCHAR |
64 |
||
|
Type |
VARCHAR |
64 |
||
|
Metro |
VARCHAR |
64 |
