Программирование >>  Руководство по созданию web приложений 

1 ... 101 102 103 [ 104 ] 105 106 107 ... 141


else

else : . . радеЗ

else

Р г i n t f Г Lo cat i о п: о г г о г. li tel \ n En );

При совпадении программа возвращает навигатору адрес URL соответствующего документа HTML, формируя заголовок ПТТР специального вида: Location: Адрес yHL \(i\n

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

Таким образом, программа анализирует параметры, поступающие от навигатора через ссылку или поля формы, а затем не только динамически формирует документ HTIVIL или ASP для отображения в окне браузера, но и возвращает ссылки на уже существующие документы в виде их адресов 1 RL.

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

Доступ к базе данных из CGI

Если необходимо, чтобы программа CGI обращалась к базе данных, то для этого можно использовать один из методов доступа, описанный в нашей книге, - ADO, OLE DB или ODBC. Когда Вы извлечете параметры из элементов формы, запустившей программу CGI, передайте их методам или функциям для доступа к базе данных.

навигатора отображается главная страница Web издательства Русская

Редакция .

Исходный текст программы AREF приведен в листинге 7-6. Листинг 7-6 Вы найдете в файле chTtareflaref.c на прилагаемом к книге компакт-диске.

Программа получает - . - переменной среды - !ltiI,N(} пользуясь для этого функцией getenv:

. szQueryString;

= gelefivCQllEiY.STBlNG );

Далее она сравнивает значение параметра со строками *раве1.*. *ч1адб2 и



В этом разделе мы рассмотрим исходные тексты программы CGI с ем CGICPPADO. Эту программу мы создали на основе консольной программы ClPADO - ее исходные тексты описаны ренп. в четвертой главе книги.

Так как Вы уже познакомились со многими приемами построения программы CGICPPADO, обращаем Ваше внимание только на те моменты, которые имеют отношение к особенностям программы, работающей в качестве приложения

Для работы с программой CGICPPADO мы подготовили документ НТМТ с формой, показанной на рис. 7-4.

I IpocMOip списка

Рис. 7-4. Форма для ввода идентификатора и пароля

Здесь нужно ввести идентификатор сотрудника магазина, имеющего админи-права, а также его пароль. После щелчка кнопки Submit информация передается CGICPPADO.

Если идентификатор и пароль указаны правильно и действительно принадлежат с административными программа CGICPPADO динамически формирует документ ПТМТ, в котором отображается содержимое таблицы managers базы данных Bookstore (рис. 7-5).

С0руЛ11ИК01!

Рис. 7-5. Список сотрудников, извлеченный из базы данных программой CGICPPADO



lafilM-iiieii

Рис. 7-6. Пользователь не зарегистрирован как . поэтому отображается сообщение

об отказе в доступе

Исходные тексты документа HTML с формой приведены в листинге 7-7.

Листинг 7-7 вы найдете в файле chACGlCppado\managers,html на прилагаемом к книге компакт-диске.

Здесь Вам следует, прежде обратить внимание на параметры тега

<FORM>:

Параметр METHOD задает метод передачи данных из формы как POST, а параметр ACTION определяет путь к загрузочному файлу программы CGICPPADO.

Поля ввода идентификатора и пароля пользователя определены в нашей форме следуюгцим образом: <tr>

<td

<input

<td

<input

</tr>

Поле для ввода идентификатора пользователя называется VaBilO, а поле пароля - Pwd Эти имена нам потребуются в программе CGICPPADO для извлечения текста из соответствующих элементов формы.

Теперь займемся программой CGICPPADO.

Исходные тексты главного модуля этой программы приведены в листинге 7-8.

Листинг 7-8 Вы найдете в файле ch7\CGICppado\CPPADO.cpp на прилагаемом к книге компакт-диске.

Когда пользователь щелкает кнопку Submit в форме, показанной на рис. 7-4, программа CGICPPADO запускается на сервере При этом управление передается tmain, выполняющей все действия по обращению к базе данных и по динамическому формированию результата этих обращений в виде до-HTML.

Если же пароль введен неправильно или если пользователь не обладает административными привилегиями, в окне браузера появится лигпь сообгцение об отказе в доступе (рис. 7-6).



1 ... 101 102 103 [ 104 ] 105 106 107 ... 141

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика