Скачиваний:
39
Добавлен:
04.04.2013
Размер:
728.06 Кб
Скачать

ГенерированиеHtmLстраниц

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

Первый пример иллюстрирует процесс генерирования HTML страницы. Предположим, что на сервере установлена PHP-программа (обычно программы, написанные на языке PHP называют скриптами), которая при вызове формирует HTML страницу, содержащую текущую дату и время. Фактически, данная программа состоит из вызова трех функций языка PHP:

  • получение текущего времени от сервера

  • формирование строки вида "ДД.ММ.ГГГГ ЧАС:МИН"

  • Вывод сообщения, состоящего из слов "Сейчас" и сформированной строки с текущей датой и временем

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

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

  • вычисляет и соответствующим образом форматирует информацию о текущей дате и времени (как было описано в предыдущем примере)

  • формирует строку, состоящую из слов "Здравствуйте" и имени пользователя.

  • формирует строку, содержащую слова "Сейчас" и информацию о дате и времени.

  • Выводит строку приветствия

  • Выводит строку с информацией о времени

Таким образом, если пользователь введет в текстовое поле формы строку "Иван Иванов" и нажмет кнопку ввода, то в результате получит HTML страницу, состоящую из следующих слов: "Здравствуйте, Иван Иванов Сейчас 10.11.2002 18:00"

Более подробно создание PHP-скриптов будет рассмотрено в главе "Создание динамических страниц".

Взаимодействие с субд

Одним из основных достоинств PHP является возможность взаимодействия с большим количеством СУБД. PHP может обращаться к базам данных как через стандартный интерфейс ODBC, так и при помощи встроенных функций, работающих на уровне API самих СУБД. Ниже приведен список наиболее распространенных СУБД, поддержка которых реализована в PHP:

  • dBase

  • Informix

  • InterBase

  • mSQL

  • MySQL

  • Oracle

  • PostgreSQL

  • Sybase

Использование возможностей СУБД при построении динамического сайта позволяет гибко управлять информацией, располагаемой на страницах сайта. В качестве примера рассмотрим пример с каталогом интернет - магазина. Предположим, что каталог содержит классификатор, выполненный в виде меню. Элементы классификатора (меню) позволяют отображать на странице список товаров, доступных для покупки в данной категории. Например, меню состоит из элементов "Телевизоры", "Холодильники", "Стиральные машины". Рассмотрим, каким образом работает данный сайт.

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

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

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

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

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