Смекни!
smekni.com

Исследование использования программ дистанционного обучения для подготовки учебно-методической документации (стр. 17 из 27)

<? include "header. php"? >

Включает в страницу текст файла header. php.

Практически все страницы приложения сформированы следующим образом:

Создается пустой файл нужной страницы с тэгами <html>, <head> и <title>;

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

Далее подключается файл body_left. php, с содержимым левой части страницы.

Выводится основная часть страницы в виде НазваниеСтраницы_right. php;

Формируется нижняя строка из файла buttom. php.

В свою очередь файл НазваниеСтраницы_right. php содержит фреймы для вывода данных. Каждый фрейм включает заголовочную часть из файла body_list_header. php, затем выводится текст заголовок, нижняя часть строки заголовка body_list_after_header. php, текст фрейма и нижняя часть фрейма body_list_footer. php. Внешний вид фрейма, который используется для вывода данных на страницах приложения, представлен на рисунке 2. 20.

Рисунок 2.20 - Фрейм для вывода данных

Для вывода данных используется функция echo - это функция, которая отправляет браузеру текст. Между словом и символом конца строки "; " помещается строка, которая заключается в кавычки. Текст и тэги HTML, находящиеся внутри кавычек, отправляются браузеру. Если в тексте используется символ кавычки или прямой слэш, то перед ними помещается еще один слэш, т.е./” или // Таким образом выводятся и другие служебные символы.

Листинг некоторых основных страниц приложения приведен в приложении Б.

2.6.5 Передача значений форм в другие страницы

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

Каждое поле ввода имеет атрибут NAME, которое будет передано в обработчик вместе со своим значением. Существует два метода передачи данных: GET и POST. Их отличие состоит в том, что при использовании метода GET значения полей присоединяются к URL, указанному в атрибуте ACTION. Происходит это таким образом:

http: // localhost/action. php? имя=значение&... имя=значение

Схема состоит в том, что для каждого элемента, имеющего имя (NAME), создается пара NAME=VALUE, где VALUE- конкретное значение соответствующего элемента формы. Для кнопок и переключателей передается только значение выбранного элемента. Указанные выше пары соединяются в виде символьных последовательностей, причем в качестве разделителей пар используется символ &. Сформированный таким образом набор символов пересылается как часть URL-запроса и носит название строка запроса.

Внутри символьной последовательности могут содержаться символы, недопустимые в составе URL-запроса. Известно, что ASCII-символы кодируются двумя шестнадцатиричными цифрами. Поэтому недопустимые в составе запроса символы заменяются триадами из знака % и 2-х цифр шестнадцатиричной системы счисления, соответствующих этому символу.

Пары "имя=значение" создаются для каждого элемента ввода, для которого указано имя атрибутом NAME. В случае использования метода POST значения полей передаются в заголовке запроса к серверу. Формат передачи при этом методе нам не интересен, значения передаются "незаметно" для обычного пользователя.

При исполнении скрипта на языке PHP создаются переменные с именами, соответствующими именам полей и содержащие соответствующие значения.

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

В таблице 2.14 перечислены все элементы ввода, которые используются в приложении.

Таблица 2.14 - Описание файловой структуры приложения

№п/п Тип Описание
1 TEXT Поле ввода текста
2 CHECKBOX Кнопка-флажок. Используется для выбора варианта
3 SUBMIT Кнопка, которая инициирует вызов обработчика формы
4 HIDDEN Скрытое поле ввода текста

Теперь рассмотрим, как значения и состояния этих элементов передаются в обработчик.

Введенное значение в поле TEXTпередается в виде: имя=значение. В обработчике значение можно получить из переменной $имя. Для поля HIDDEN передача параметров осуществляется аналогично.

CHECKBOX - если флажок установлен, то передается значение on, если флажок не установлен, то переменная не передается вообще. Таким образом, установку флажка в скрипте можно проверить, сравнив значение переменной $имя с "on". Переменная и строка выглядят аналогично элементу типа TEXT.

SUBMIT - кнопка SUBMIT, как ни странно, тоже может передавать значение в обработчик. Значение устанавливается из атрибута VALUE. Все остальное аналогично полю типа TEXT.

PHP предоставляет еще одну интересную особенность. Мы можем каждому элементу присвоить имя переменной массива.

В этом случае мы сможем получить доступ к значениям, обращаясь к элементам ассоциативного массива:

$personal ["name"] и $personal ["email"].

Кроме того, если включена директива PHP <? php_track_vars? >, то, при передаче значений, будут заполнены массивы $HTTP_GET_VARS и $HTTP_POST_VARS, для соответствующих методов передачи переменных в обработчик.

2.6.6 Взаимодействие приложения с web-сервером

Этапы взаимодействия данного приложения с web-сервером следующие:

Пользователь с помощью браузера формирует запрос на получение документа и через сеть Интернет посылает его на Web-сервер.

Сервер извлекает документ (форму) из своей базы данных и через сеть Интернет посылает его пользователю (клиенту).

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

Сервер с помощью CGI-программы анализирует полученный документ и (при необходимости) направляет его для обработки в соответствующее приложение.

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

Сервер передает выходную информацию клиенту.

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

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

CGI-программа создает динамический (виртуальный) гипертекстовый документ или же формирует ссылку на уже имеющийся документ и дополняет его передачей результатов. Чаще всего для передачи данных от удаленного пользователя Web-серверу используются HTML-формы. Именно с их помощью организуется диалог между браузером пользователя и Web-сервером удаленного узла сети. Такой диалог позволяет осуществить важнейшие операции в сети Интернет.

Web-сервер, получив URL-запрос от клиента, присваивает переменной среды QUERY_STRING значение строки запроса и вызывает CGI-программу, указанную в первой части запроса. Затем CGI-программа может обратиться к переменной среды QUERY_STRING, чтобы осуществить обработку закодированной в ней информации.

2.6.7 Создание таблиц базы данных

Для подключения к серверу баз данных необходимо задать ряд параметров:

$SERVER = "localhost"; // Имя сервера

$USER = "root"; // Имя пользователя

$PASSWD = "geijr"; // Пароль

$DB = "rli_test"; // Имя базы данных "RLI_test"

$REPLY = "andrewnik@list. ru";

mysql_createdb ($DB); // Создание базы данных

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