Статья опубликована в рамках: LII Международной научно-практической конференции «Технические науки - от теории к практике» (Россия, г. Новосибирск, 18 ноября 2015 г.)

Наука: Технические науки

Секция: Информатика, вычислительная техника и управление

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Назарцев М.С., Козлов В.А., Самсонов С.В. [и др.] ТЕХНОЛОГИЯ РАЗРАБОТКИ МНОГОСТРАНИЧНЫХ WEB-ПРИЛОЖЕНИЙ С МЕЖСТРАНИЧНОЙ ПЕРЕДАЧЕЙ ПАРАМЕТРОВ // Технические науки - от теории к практике: сб. ст. по матер. LII междунар. науч.-практ. конф. № 11(47). – Новосибирск: СибАК, 2015.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

 

ТЕХНОЛОГИЯ  РАЗРАБОТКИ  МНОГОСТРАНИЧНЫХ  WEB-ПРИЛОЖЕНИЙ  С  МЕЖСТРАНИЧНОЙ  ПЕРЕДАЧЕЙ  ПАРАМЕТРОВ

Назарцев  Максим  Сергеевич

аспирант  кафедры  информационной  безопасности,  систем  и  технологий, 
Северо-Кавказского  федерального  университета,

РФ,  г.  Пятигорск

E-mailmaksnazar92@mail.ru

Козлов  Владимир  Александрович

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

РФ,  г.  Пятигорск

E-mailv.kozlov.69@mail.ru

Самсонов  Сергей  Валерьевич

студент 
Института  сервиса  туризма  и  дизайна,

РФ,  г.  Пятигорск

E-mail

" target="_blank">serezha-samsonov-1997@mail.ru

Корнилов  Владислав  Алексеевич

студент 
Института  сервиса  туризма  и  дизайна,

РФ,  г.  Пятигорск

E-mailwen.wen.dineol@mail.ru

 

TECHNOLOGY  DEVELOPMENT  MULTIPAGE  WEB-APPLICATIONS  WITH  A  CROSS-PASS  PARAMETERS

Maxi  Nazartsevm

graduate  student, 
Department  of  information  security,  systems  and  technology,  North-Caucasus  Federal  University,

Russia,  Pyatigorsk

Vladimir  Kozlov

candidate  of  technical  Sciences,  associate  Professor  of  information  security,  systems  and  technology 
of  North-Caucasus  Federal  University,

Russia,  Pyatigorsk

Sergei  Samsonov

student 
of  the  Institute  of  tourism  and  service  design,

Russia,  Pyatigorsk

Vladislav  Kornilov

student 
of  the  Institute  of  tourism  and  service  design,

RussiaPyatigorsk

 


АННОТАЦИЯ


Цель  работы:  разработка  многостраничных  web-приложений  с  межстрочной  передачей  параметров,  используя  СУБД  MySQL. 


ABSTRACT


Objective:  Development  of  multi-  web-applications  with  interline  transfer  parameters  using  the  DBMS  MySQL.


 


Ключевые  слова:  HTML;  JavaScript;  PHP;  СУБД;  MySQL.


Keywords:  HTML;  JavaScript;  PHP;  СУБД;  MySQL.


 


Одно-  или  многостраничные  динамические  сайты,  написанные  на  языке  HTML,  можно  написать  и  отладить  на  локальном  ПК  пользователя  с  помощью  любого  браузера.  То  же  самое  можно  сказать  и  про  динамический,  сайт,  содержащий  скрипты,  написанные  на  JavaScript,  потому  что  интерпретатор  такого  рода  скриптов  также  входит  в  состав  любого  браузера.


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


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


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


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


Для  реализации  приложения  такой  конструкции  можно  пойти  по  традиционному  пути,  создав  на  сервере  небольшую  базу  данных.  К  тому  же  в  среде  Web-программирования  уже  имеется  готовая  и  прекрасно  себя  зарекомендовавшая  СУБД  MySQL,  обладающая  оптимальным  соотношением  цены,  скорости  работы  и  устойчивости  к  ошибкам.


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


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


Поэтому  использование  для  нашего  приложения  языка  запросов  обработки  информации  в  рамках  СУБД  MySQL  –  это  «пальба  из  пушки  по  воробьям»,  так  как  все  преимущества  работы  с  таблицами  подобного  типа  сведены  на  нет.


Рассмотрим  альтернативный  и  на  наш  взгляд,  более  рациональный  путь  решения  этой  задачи,  воспользовавшись  элементом  hidden  (скрытое  поле),  входящего  в  состав  элементов  атрибута  type  тега  <input>.  Тег  <input–  один  из  элементов  формы,  обеспечивающий  создание  различных  элементов  интерфейса  взаимодействия  с  пользователем  на  многостраничных  сайтах.  Он  может  передавать  различные  типы  объектов:  текстовые  поля,  кнопки,  флажки,  переключатели  и  т.  д.


Основным  атрибутом  тега  <input>  является  атрибут  type,  с  помощью  которого  задается  вид  передаваемого  через  форму  объекта.  Элементами  атрибута  type  являются:  текстовое  поле  (text),  поле  с  паролем  (password),  скрытое  поле  (hidden),поле  для  отправки  файла  (file)  переключатель  (radio),  флажок  (checkbox),  кнопка  (button)  и  т.  д.


Воспользовавшись  элементом  hidden  можно  отключить  отображение  объекта  (в  том  числе  и  текстового  поля)  в  окне  браузера.  Это  весьма  удобный  механизм  отладки,  позволяющий  отключать  изображение  объекта  уже  после  полной  отладки  данной  web-страницы.


Для  решения  задачи  передачи  параметров  в  многостраничном  диалоговом  web-приложении,  воспользуемся  уже  описанными  нами  замечательными  свойствами  скрытого  поля  hidden.  Для  реализации  механизма  доступа  к  конкретному  элементу  контейнера,  организованного  под  эгидой  элемента  hidden,  будем  после  каждого  введенного  в  этот  контейнер  параметра,  заносить  туда  же  и  специальный  знак-разделитель,  например,  обратный  slash  (\).  Это  позволит  в  дальнейшем  разработать  простейшую  программу  на  кроссплатформенном  языке  PHP,  используемый  для  генерации  динамических  HTML-страниц  на  веб-сервере  [1]. 


Для  обеспечения  корректности  динамических  операций  подстрахуем  нашу  динамику  следующим  скриптом,  который  оформлен  в  виде  одного  из  атрибутов  тега  body:

 



<body  style="background-image  :url(images/135.jpg)"  onload  =  "document.  getElement  ById('vibor').focus()">

 


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


Формирование  php-контейнера  начнем  с  того,  что  занесем  в  него  метку  разделения  переменных  –  обратный  слэш.  Символ  обратный  слэш  имеет  несколько  возможных  применений  в  php.  В  первую  очередь,  если  он  предшествует  не  буквенно-цифровому  символу,  то  снимает  с  него  специальное  значение.  Поэтому  для  занесения  в  контейнер  самого  символа  обратный  slash,  необходимо  использовать  запись  ‘\\’: 

 



<input  type  ="text/hidden"  name="php_container"  ID="php_container"  size=1value="\\">

 


Атрибут  type  в  теге  input  после  отладки  должен  принять  значение  type  =  “hidden”,  однако  в  процесс  отладки  очень  удобно  выводить  текущее  состояние  контейнера  на  экран  –  в  этом  случае  необходимо  использовать  запись  type  =  “text”.


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


С  этой  целью  разработаем  php–программу,  обеспечивающую  обработку  post  запросов,  формируемых  в  режиме  диалога  с  пользователем,  с  последующим  их  занесением  в  наш  контейнер.  Рассмотрим  пример,  когда  контейнер  уже  частично  заполнен,  и  необходимо  добавить  в  него  еще  один  параметр  [2]:

 



……


<?  php


//  Настройка  локали


Setlocale  (LC_ALL,  'ru_RU.65001',  'rus_RUS.65001',  'Russian_Russia.  65001',  'russian');


//Функция  isset  позволяет  узнать  существует  ли  переменная,  указанная  в  скобках


if  (isset($_POST['Punct_3']))


                                       {


$h_v  =  $_POST  ['php_conteiner'];  //  Текущее  содержание  php-контейнера


 


//  Функция  explode  возвращает  массив  строк  с  разделителем


$Ar_hidden=explode  ("\\",$h_v); 


 


$t_r  =  $_POST  ['Punct_3'];  //Переменная,  подготовленная  для  занесения  в  контейнер


                                       }


else  $t_r="";


?>


……

 


Вывод  параметров,  занесенных  в  контейнер  раннее  (Пункт  №  1  и  Пункт  №  2),  осуществляется  путем  обращения  к  соответствующим  строкам  массива  $Ar_hidden  следующим  образом:  <?echo  $Ar_hidden[1];?>  и  <?echo$Ar_hidden[2];?>  соответственно. 


Обращение  к  параметру,  сформированному  на  предшествующей  странице  можно  оформить  и  так:  <?echo  $t_r;?>.

 



……..


<table  border  =  0  align=center><tr><td  background=images/31.jpg><b><big><font  color  =  'blue'>  Сформулированные  раннее  пункты  вашего  пректа</font></b></td></tr>  </table>


<table  border  =  1  align=center  background=images/31.jpg>


  <tr><td  ><b><font  color  =  'blue'>Пункт  №1.  Я  хочу:  </font></b></td>  <td><font  color  =  'blue'><?echo  $Ar_hidden[1];?></font></td></tr>


  <tr><td  ><b><font  color  =  'blue'>Пункт  №2.  Когда:  </font></b></td>  <td><font  color  =  'blue'><?echo  $Ar_hidden[2];?></font></td></tr> 


  <tr><td  ><b><font  color  =  'blue'>Пункт  №3.  Зачем:  </font></b></td>  <td><font  color  =  'blue'><?echo  $t_r;?></font></td></tr> 


  </table>


………


 

 


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

 



………


<table  border  =  0  align=center><tr><td  background=images/31.jpg><b><big><font  color  =  'blue'>ПУНКТ  №4:  </b>  Что  вы  готовы  для  этого  делать?  </font></big></td></tr>  </table>


 


<table  border  =  0  align=center><tr><td  background=images/31.jpg><b>Ваш  ответ  (не  менее  5  символов)  поместите  сюда:</b></td></tr>  </table>


<!--Ответ  пользователя  -->


<textarea  name="Punct_4"  Id="  Punct_4"  cols=70  rows=7  ></textarea>


……


<input  name="php_conteiner"  ID="php_conteiner"  size=1  value="<?echo  $h_v  .t_r."\\";?>">


…….

 


Содержание  контейнера,  сформированного  к  моменту  перехода  на  следующую  страницу  сайта,  представлено  ниже.

 



……


<input  name="php_conteinerID="php_conteinersize=1  value="\Получить  высшее  образование\В  ближайшие  5  лет\От  этого  зависит  успех  моей  карьеры"> 


……

 


На  рисунке  показан  фрагмент  5  страницы  динамического  web-приложения  со  всеми  параметрами,  сформированными  раннее  на  страницах  1–4  в  режиме  диалога  с  пользователем  [3].

 


Рисунок  1.  Фрагмент  страницы  5  динамического  web-приложения

 


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

  1. О  коучинге  просто.  «Программирование  Wed-приложений»  [Электронный  ресурс]  –  Режим  доступа.  –  URL:  http://prosto-coach.ru/.  (дата  обращения  20.10.2015).
  2. Шкрыль  А.А.  «PHP  –  это  просто.  Программируем  для  Web-сайта».  учебное  пособие  .:СПб.:  БХВ-Петербург,  2006.  –  368  с.
  3. Электронный  коуч.  Рубрика  «Исполнитель  желаний».//  [Электронный  ресурс]  —  Режим  доступа.  –  URL:  http://prosto-coach.ru/category/el_coach/  (дата  обращения  25.10.2015).
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом