|
Программирование >> Руководство по созданию web приложений
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).
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |