Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Інтерфейс Common Gateway Interface (CGI)

Статичні HTML-сторінки – дуже зручний засіб публічного надання інформації за вимогою. Проте міць Web-сторінок розкривається тільки при використанні інтерактивних можливостей мови HTML.

Одним із самих старих, але як і раніше широко використовуваних методів створення динамічних й інтерактивних Web-сторінок є інтерфейс загального доступу CGI – перший механізм вбудовування додатків у Web-вузол. За допомогою CGI розробники можуть писати додатки, що мають можливості інтерактивної взаємодії з користувачами (наприклад, що приймають дані від кінцевих користувачів) або динамічні елементи, що включають, (наприклад, Web-сторінки, що генеруються по запиту). Могутні засоби CGI надають розроблювачам прості способи інтегрування таких додатків у Web-вузол незалежно від застосовуваного програмного забезпечення Web-сервера.

За останні роки з'явилася безліч альтернативних технологій. Але, незважаючи на це, CGI як і раніше залишається актуальним засобом розширення функцій Web-вузла.

CGI є набором стандартів, що визначають спосіб взаємодії Web-сервера і додатків CGI, виконуваних на сервері. Ці стандарти описують інтерфейс передачі даних між Web-сервером і додатком CGI.

Програми CGI запускаються у виді окремих додатків. Вони не є частиною програмного забезпечення Web-сервера, а виходить, не мають безпосереднього доступу до інформації, доступної Web-серверу. Ця інформація включає такі дані, як назва і версія броузера користувача, або, що набагато важливіше, дані, що користувач вводить у форму в броузері. Звичайно додатки CGI створюються саме для роботи з цими даними, тому розроблювальний сценарій або програма повинні мати доступ до такої інформації.

 

 

Відвідувачі вузла вводять інформацію у форму або запитують сторінку з посиланням на сценарій CGI. При цьому сценарій запитує у сервера необхідну інформацію, обробляє її і видає результати клієнту.

 

Рисунок 2.1 – Обробка запиту клієнта за допомогою сценарію CGI

 

На базовому рівні специфікація CGI визначає способи, якими Web-сервер забезпечує доступність інформації CGI-додаткам, а додатки CGI повертають дані Web-серверу. Тому терміни «програмування CGI» і «сценарій CGI» варто сприймати як посилання на методологію програмування і створення сценаріїв, а не як згадування якоїсь конкретної мови.

Частина специфікації CGI описує, яким способом Web-сервер надає додатку дані, що прийшли від користувача. Вся інформація, включаючи заголовки HTTP-запитів і дані користувача, передається або через змінні середовища, або через стандартний ввід. У кожному конкретному випадку джерело даних залежить від методу запиту.

Методи запиту POST і GET вказуються в атрибуті method дескриптора <FORM>. Вони відповідають двом способам напрямку запиту Web-серверу. Різниця полягає в тім, що GET додає інформацію з форми до URL, описаному в атрибуті action, а POST передає дані в тілі запиту.

При роботі з методом GET у запитуваному URL міститься інформація двох видів: шлях до якого-небудь ресурсу на сервері і додатковій інформації з форми після символу ’?’.

Наприклад: http://www.domain.com/cgi-bin/groups.map?201,118

URL додатка CGI Додаткова

Знак питання в URL відзначає початок рядка запиту (query string). Звичайно він застосовується тільки для додатків CGI і служить для передачі їм довільної додаткової інформації.

Стандартний ввід використовується, коли броузер надсилає запит методом POST. Незважаючи на те, що додаток CGI одержує дані з форми шляхом стандартного вводу, вся інша інформація міститься в змінній оточення.

Форми

Форма – це особлива частина «тіла» документа HTML. Вона дозволяє вводити текст і здійснювати вибір зі списків або за допомогою кнопок. Форма працює разом із установленим на web-сервері сценарним додатком, що обробляє введену інформацію. Звичайно взаємини між формою й програмою, яка оброблює її дані, регулюються стандартом CGI. CGI працює як канал, по якому передається інформація з форми процесу, що обробляє її дані.

Для створення елементів форми використовуються дескриптори (теги) і деякі спеціальні елементи, відомі як елементи керування.

Існує кілька ключових елементів форм і ряд зв'язаних з ними атрибутів, які необхідно знати для створення форм.

– <FORM>…</FORM>—це фундаментальні елементи усіх форм, дескриптори, що відкривають і закривають форму. Форма може мати кілька атрибутів. Основні з них — action, що як значення приймає URL для передачі на вузол інформації з форми, і method, що приймає значення get чи post. Ці значення визначають спосіб передачі даних форми вузлу.

– <INPUT> — цей дескриптор відповідає за створення керуючих елементів, розташовуваних у формі. Закриваючого дескриптора він не має. З зазначеним дескриптором можуть використовуватися наступні атрибути:

– type="x" — визначає елемент керування;

– name="x" — ім'я елемента керування;

– value="x" — значення елемента керування; цей атрибут є необов'язковим для всіх керуючих елементів, крім перемикача (radio);

– size="x" — ширина поля елемента керування в пикселях; для елементів text і password ширину поля визначають у символах;

– maxlength="x" — гранична кількість символів, що приймає елемент керування;

– checked="x" — відзначений прапорець (перемикач);

– src="х" — покажчик на рисунок, використовуваний у формі як графічна кнопка.

– <TEXTAREA>…</TEXTAREA>—цей елемент створює текстову область з розширеними можливостями. Він подібний елементу керування, але, крім атрибутів, їм може керувати розміщений між дескрипторами текст. Крім уже відомого атрибута name приймає атрибути rows="x", де "х" визначає кількість рядків області, і cols="x", де "х" визначає її ширину.

– <SELECT>…</SELECT>—цей елемент створює меню. У залежності від використовуваних атрибутів, меню може бути випадаючим або представленим у вигляді списку. Якщо потрібно надати відвідувачу вузла можливість вибору декількох елементів, використовується атрибут multiple.

– <OPTION>…</OPTION>—цей дескриптор визначає кожен елемент списку меню окремо. Застосовуються обидва дескриптори – відкриваючий і закриваючий.

Екранні керуючі елементи визначають спосіб введення інформації. Синтаксично елементи являють собою значення атрибута type дескриптора <INPUT>. Далі перераховані доступні керуючі елементи.

– text — поле введення тексту, що складається з одного рядка. Ширину поля визначає значення атрибута size.

– password — поле, подібне до поля введення тексту text. Відмінність полягає в тім, що введені відвідувачем вузла символи відображаються у вигляді символів ’*’.

– checkbox — прапорець, що приймає два логічних значення. Можна створити групу з декількох прапорців; при цьому всі вони можуть бути відзначені.

– radio — перемикач. На відміну від прапорця, з декількох перемикачів, що утворюють групу, може бути обраний лише один.

– submit — кнопка, натискання якої означає підтвердження вибору і відправлення інформації на Web-вузол. Напис на кнопці визначається установкою значення її властивості value.

– reset — кнопка, натискання якої означає скидання поточних значень елементів керування й установку значень за замовчуванням.

– file — дозволяє створити кнопку виклику діалогового вікна вибору файлу.

– hidden — схований елемент керування, що не представлений яким-небудь зображенням на формі. Звичайно сховані елементи використовують з метою автоматичного введення додаткових даних для передачі Web-вузлу.

– image — елемент, що дозволяє вставити зображення і використовувати його для підтвердження вибору або скидання замість кнопки submit і reset.

– button — кнопка. Для роботи кнопці вимагаються зв'язані з нею сценарії.

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

Відкриваючий дескриптор <FORM> визначає спосіб, яким передається інформація сценарному додатку сервера, й ім'я цього додатка.

У нашому випадку форма буде зберігатися у файлі calculate.html, а скрипт – у calculate.php.

Файл calculate.html:

 

<HTML> <HEAD>

<TITLE>Форма Калькулятора</TITLE>

</HEAD>

<BODY>

<FORM METHOD="post" ACTION="calculate.php">

<P>Значення 1:

<INPUT TYPE="text" NAME="val1" SIZE=10></P>

<P>Значення 2:

<INPUT TYPE="text" NAME="val2" SIZE=10></P>

<P>Дія:<br>

<INPUT TYPE="radio" NAME="calc"

VALUE="скласти"> скласти <BR>

<INPUT TYPE="radio" NAME="calc"

VALUE="відняти"> відняти <BR>

<INPUT TYPE="radio" NAME="calc"

VALUE="помножити"> помножити <BR>

<INPUT TYPE="radio" NAME="calc"

VALUE="розділити"> розділити </P>

<P>

<INPUT TYPE="submit" NAME="submit"

VALUE="Обчислити"> </P>

</FORM>

</BODY> </HTML>

 

Форма буде виглядати так:

Рисунок 2.2 – Форма калькулятора (файл calculate.html)

 

Дані з форми будуть передаватися методом POST на обробку сценарію calculate.php. Якщо користувач увів недостатню кількість інформації, то треба повторно викликати сторінку calculate.html, у протилежному випадку – занести в змінну результат обчислення і вивести його на екран:

 

<? /* Calculate.php */

if (($_POST['val1'] == "") ||

($_POST['val2'] == "") ||

($_POST['calc'] == "")) {

header("Location:

http://127.0.0.1/calculate.html");

exit;

}

if ($_POST['calc'] == "скласти") {

$result = $_POST['val1'] + $_POST['val2'];

} elseif ($_POST['calc'] == "відняти") {

$result = $_POST['val1'] - $_POST['val2'];

} elseif ($_POST['calc'] == "помножити") {

$result = $_POST['val1'] * $_POST['val2'];

} else {

$result = $_POST['val1'] / $_POST['val2'];

}

?>

<HTML>

<HEAD>

<TITLE>Результат обчислення</TITLE>

</HEAD>

<BODY>

<P> Результат: <? echo "$result"; ?> </P>

</BODY>

</HTML>


Читайте також:

  1. A large group of people was bunched around the bulletin board when they returned to the common room.
  2. All usual pursuits were abandoned in the Gryffindor common room the night before the match. Even Hermione had put down her books.
  3. But Slughorn had gone. Disappointed, Harry emptied the cauldron, packed up his things, left the dungeon, and walked slowly back upstairs to the common room.
  4. Cisco Packet Tracer - Знайомство з програмою. Інтерфейс
  5. COMMON FEATURES OF MODERN MODELS OF LANGUAGE
  6. COMMON LAW
  7. Common Natural Fabrics
  8. Common properties of enzymes
  9. Common Reference Levels - The Global Scale
  10. Common Underlying Proficiency
  11. Commonly Used Abbreviations
  12. Commonly Used Initials




Переглядів: 483

<== попередня сторінка | наступна сторінка ==>
Лабораторна робота №2 | Завдання на виконання роботи

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.02 сек.