РАЗРАБОТКА WEB-ПРИЛОЖЕНИЯ «БРАЧНОЕ АГЕНТСТВО» С ИСПОЛЬЗОВАНИЕМ JAVASCRIPT, PHP И MYSQL - Студенческий научный форум

VIII Международная студенческая научная конференция Студенческий научный форум - 2016

РАЗРАБОТКА WEB-ПРИЛОЖЕНИЯ «БРАЧНОЕ АГЕНТСТВО» С ИСПОЛЬЗОВАНИЕМ JAVASCRIPT, PHP И MYSQL

Кичигина А.К. 1, Свиридова И.В. 1, Каллас В.А. 1, Осипов Д.С. 1, Черняев И.С. 1, Игрунова С.В. 1
1НИУ «БелГУ»
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Проект направлен на разработку информационного сайта "Брачное агентство" с использованием клиент-серверных технологий.

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

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

Преимуществом данного подхода можно назвать:

- отсутствие дублирования кода программы-сервера программами-клиентами;

- так как все вычисления выполняются на сервере, то требования к компьютерам, на которых установлен клиент, минимальны;

- все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов.

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

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

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

Целью является разработка web-приложения «Брачное агентство» с использованием JavaScript, PHP и СУБД MySQL.

Исходя из цели, были поставлены следующие задачи:

- анализ предметной области;

- построение логической и физической моделей БД;

- реализация спроектированной БД;

- проектирование и разработка web-приложения.

1. Анализ предметной области и выбор инструментальных средств разработки Web-приложения

Системный анализ предметной области

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

Типы сайтов:

- сайт-визитка.

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

- корпоративный сайт.

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

- интернет-магазин.

Интернет-магазин, пожалуй, один из самых популярных сегодня типов интернет-ресурсов, создаётся с целью облегчения процессов покупки. Основной упор при его разработке делается на функциональность: коммерческий сайт должен располагать удобным и эффективным интерфейсом. Интернет-магазины (торговые системы класса «business to customer») предоставляют возможность продаж через Интернет конечному покупателю, рядовому потребителю товаров и услуг.

- информационный портал.

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

В данной курсовой работе реализован информационный портал. Его основная задача – предоставление информации, при этом важно как она будет предоставлена. В связи с этим на сайте реализованный различные методы вывода информации:

- вывод списка всех клиентов и всех видов услуг;

- поиск клиентов по заданным параметрам;

- также реализовано создание и удаление записей в удобной форме.

Выбор программного обеспечения

Обоснование выбора HTML, CSS, JS, PHP

HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML. Язык HTML интерпретируется браузерами и отображается в виде документа в удобной для человека форме.

Язык HTML был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986—1991 годах в стенах Европейского Центра ядерных исследований в Женеве (Швейцария). HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки.

С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.

CSS (англ. Cascading Style Sheetsкаскадные таблицы стилей) — формальный язык описания внешнего вида документа, написанного с использованием языка разметки.

Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML.

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

JavaScript — прототипно-ориентированный сценарный язык программирования.

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

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

PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста) — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений.

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

Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:

- автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;

- взаимодействие с большим количеством различных систем управления базами данных (в том числе MySQL);

- обработка файлов, загружаемых на сервер;

- работа с cookies и сессиями.

Обоснование выбора СУБД MySQL

Система управления базами данных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.

Все современные СУБД имеют:

- визуальные средства создание таблиц, форм, отчетов;

- доступ к данным серверных СУБД;

- создание приложений выполняющих функции WEB – браузеров и размещение данных в Internet;

- объектно-ориентированный язык;

- поддержку SQL.

MySQL — свободная реляционная система управления базами данных. MySQL имеет двойное лицензирование. MySQL может распространяться в соответствии с условиями лицензии GPL. Однако по условиям GPL, если какая-либо программа включает исходные коды MySQL, то она тоже должна распространяться по лицензии GPL. Это может расходиться с планами разработчиков, не желающих открывать исходные тексты своих программ. Для таких случаев предусмотрена коммерческая лицензия, которая также обеспечивает качественную сервисную поддержку.

MySQL портирована на большое количество платформ: Linux, Mac OS X, Windows 95, Windows 98, Windows NT, Windows 2000,Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7.

MySQL имеет API для языков Delphi, C, C++, Java, Perl, PHP, Python, библиотеки для языков платформы .NET.

2.Проектирование Web-приложения

Проектирование информационного обеспечения

Логическое и физическое проектирование БД

Логическое (даталогическое) проектирование — создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных даталогическая модель — набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи.

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

На этапе логического проектирования учитывается специфика конкретной модели данных, но может не учитываться специфика конкретной СУБД.

Логическая схема представлена на рисунке 1.

Рисунок 1 - Логическая схема базы данных

Физическое проектирование — создание схемы базы данных для конкретной СУБД. Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т.п. Кроме того, специфика конкретной СУБД при физическом проектировании включает выбор решений, связанных с физической средой хранения данных (выбор методов управления дисковой памятью, разделение БД по файлам и устройствам, методов доступа к данным), создание индексов и т.д.

На этом этапе составляются проекты таблиц. Каждая таблица должна получить свой уникальный идентификатор (название). Этот идентификатор должен соответствовать синтаксису языка выбранной СУБД.

Определяется имя, тип и размер поля. Определяется первичный ключ, внешние ключи и поля индексирования (для быстрого поиска) в каждой из таблиц.

Для каждой связи определяются условия целостности при операциях добавления, изменения или удаления данных в родительской и дочерних таблицах. Могут использоваться следующие варианты условий: отсутствие проверки; запрет операции; каскадное выполнение операции обновления или удаления данных сразу в нескольких связанных таблицах. Кроме этого при разработке физической модели производится оценка необходимых ресурсов: оперативной памяти, быстродействия и объема памяти для хранения данных (минимального свободного места на винчестере).

Физическая схема представлена на рисунке 2.

Рисунок 2 – Физическая схема базы данных

Создание базы данных

Цель базы данных — это представление в объективной форме совокупности самостоятельных материалов, систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины.

Для удобства реализации БД создаются инструменты для их проектирования.

В данной курсовой работе использовался phpMyAdmin.

phpMyAdmin — инструмент для визуального проектирования баз данных, интегрирующий проектирование, моделирование, создание и эксплуатацию БД в единое бесшовное окружение для системы баз данных MySQL.

Интерфейс данного инструментария представлен на рисунке 3.

Рисунок 3 – Интерфейс инструментария

Проектирование и разработка Web – приложения

При разработке сайта для формирования страниц использовались HTML и PHP технологии.

В качестве инструментального средства для разработки клиентского Web-приложения будет использовался текстовый редактор Notepad++.

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

Название модуля:

Описание модуля:

  1. Home.html

Главная страница сайта, содержит навигацию по сайту.

  1. About Us.html

Содержит информации о брачном агентстве.

  1. Clients.html

Страница для работы с БД.

  1. Find Love.html

Содержит информацию о клиентах.

  1. Training.html

Содержит информацию о тренингах, служит для работы с БД.

  1. Contacts.html

Содержит контактную информацию.

  1. AddToTable.php

Содержит скрипт добавления данных в БД.

  1. LookResult2.php

Содержит скрипт для просмотра всех БД.

  1. Training2.php

  1. search.php

Содержит скрипт для поиска информации

  1. delete.php

Содержит скрипт для удаления информации из БД

  1. jquery-1.4.4.min.js

  2. slides.min.jquery.js

Сожержат скрипты для оформления html страниц.

  1. aboutstyle.css

  2. clientsstyle.css

  3. contactsstyle.css

  4. findlovestyle.css

  5. homestyle.css

  6. treiningstyle.css

  7. global.css

Содержат стили для оформления html страниц.

Таб.1. Функции модулей

3.Разработка Web-приложения

Реализация доступа к БД

Доступ к БД осуществляется по средством вызова функции mysql_pconnect().

mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL[8].

mysql_pconnect() работает аналогично mysql_connect() с двумя важными отличиями.

Во-первых, при соединении функция пытается найти уже открытый (постоянный) указатель на тот же сервер с тем же пользователем и паролем. Если он найден, возвращён функцией будет именно он, вместо открытия нового соединения.

Во-вторых, соединение с SQL-сервером не будет закрыто, когда работа скрипта закончится. Вместо этого, оно останется рабочим для будущего использования (mysql_close() также не закрывает постоянные соединения, открытые mysql_pconnect()).

Соединения такого типа называют 'постоянными'.Для выбора БД используется функция mysql_select_db()[8].

mysql_select_db() - Выбирает для работы указанную базу данных на сервере, на который ссылается переданный дескриптор соединения. Каждый последующий вызов функции mysql_query() будет работать с выбранной базой данных.

Реализация добавления данных

Добавление данных в БД осуществляется по следующему алгоритму:

  1. Заполняется форма с данными;

  2. По средствам глобально массива POST создаются переменные содержащие значения введенных данных;

  3. Формируется запрос с последующем вызовом функции mysql_query() которая пересылает его на сервер для выполнения.

Фрагмент кода содержащий запросы к БД:

if($_POST['name']!='' && $_POST['city']!='' && $_POST['age']!='' && $_POST['tell_about_yourself']!='' && $_POST['id_club']!='' && $_POST['id_parties']!='') {

$name = $_POST['name'];

$age = $_POST['age'];

$city = $_POST['city'];

$tellaboutyourself = $_POST['tell_about_yourself'];

$club = $_POST['id_club'];

$parties = $_POST['id_parties'];

$result=mysql_query("INSERT INTO Clients (`name`, `age`, `city`, `tell_about_yourself`, `id_club`) VALUES ('".$name."','".$age."','".$city."','".$tellaboutyourself."','".$club."')");

echo "Запись внесена в таблицу!";

}else{

echo "Вы ввели не все данные";

}

Реализация поиска данных

Поиск данных в БД осуществляется по следующему алгоритму:

  1. Заполняется форма с данными;

  2. По средствам глобально массива POST создаются переменные содержащие значения введенных данных;

  3. Формируется запрос с последующем вызовом функции mysql_query() которая пересылает его на сервер для выполнения;

  4. Выполняется вывод посредством цикла while и передачей ему в качестве параметра функции mysql_fetch_array которая возвращает ассоциативный или числовой массив или оба сразу.

Фрагмент кода содержащий реализацию данного алгоритма:

if($result=mysql_query("select * from Clients where ".$searchtype." like '%".$searchterm."%'")){

$num_results = mysql_num_rows($result);

echo " Результаты поиска: ";

echo '

Найдено записей: '.$num_results.'

';

 

}

if ($num_results>0) {

echo '';

 

echo '

';

 

echo '

';

 

echo '

';

 

echo '

';

 

echo '

';

 

echo '

';

 

echo '

';

 

echo '

';

 

echo '

';

 

echo '

';

 

for ($i=0; $i

ID Клиент Возраст Город Расскажите о себе

 

Просмотров работы: 5428