Программирование >>  Программный интерфейс приложений 

1 ... 127 128 129 [ 130 ] 131 132 133 ... 264


# Отобразить форму ввода ключа.

# Кроме того, если задано значение $interest,

# производится поиск и отображение списка членов,

# имеющих такой научный интерес.

# Обратите внимание на то, что в данной форме значение

# $interest отображается

# в качестве значения по умолчанию для поля interest

print $cgi->start form {-method => POST ); print $cgi->textfield (-name => interest ,

-value => $interest,

-size => 40) ;

print $cgi->submit (-name => button , -value => Search ); print $cgi->end form ();

# запустить поиск, если было задано поле поиска search members ($interest) если $interest;

Этот сценарий передает информацию самому себе по-другому по сравнению со сценариями sampbrowse и score browse. Параметр interest не добавляется в конец URL, а информация, полученная из формы, кодируется броузером и передается как часть запроса POST. Однако модулю CGI.pm совсем безразлично, каким образом посылается информация, значение параметра по-прежнему можно получить с помощью вызова param ().

Функция, осуществляющая поиск и отображающая его результаты, показана в следующем листинге. Здесь не показана format litml entry (), функция форматирования записи, так как она полностью аналогична такой же функции из сценария gen dir:

sub search members {

my ($interest) = shift; my ($sth, $count);

printf Поиск результатов по ключу: %s<BR><BR>\n ,

$cgi->escapeHTML ($interest);

$sth = $dbh->prepare (qq{

SELECT * FROM member WHERE interests LIKE ? ORDER BY last name, first name }) ;

# поиск строки как подстроки поля interest $sth->execute ( % . $interest . % ); $count = 0;

while (my $hash ref = $sth->fetchrow hashref ()) (

format html entry ($hash ref); ++$count;

print $cgi->p ( Найдено $count записей );




Интерфейс API для языка написания сценариев РНР

Язык РНР является языком написания Web-страниц, содержащих код, который исполняется, когда осуществляется доступ к странице. Кроме того, этот код в состоянии генерировать динамическое содержание, как часть посылаемого на Web-броузер клиента результат. В этой главе описываются принципы использования языка РНР при создании Web-приложений, работающих с СУБД MySQL Для сравнения программного интерфейса APL разработанного для языка РНР, с интерфейсами DBI APL созданными для языков программирования С и Perl, обратитесь к главе 5, Введение в программирование в СУБД MySQL .

Все примеры, приведенные в этой главе, используют хорошо известную тестовую базу данных samp db. При этом используются таблицы, созданные нами для проектов Учет успеваемости и Исторической Лиги в главе L Знакомство с СУБД MySQL и SQL . Будем работать с языком РНР 3, хотя, как я уже писал, язык РНР 4 находится в данный момент на бета-тестировании и к моменту вашего ознакомления с этой книгой может уже бьггь доступен в качестве альфа-версии. Совместимость РНР 4 с РНР 3 является одной из декларированных целей этой разработки. Так что все сказанное в адрес РНР 3 можно будет применить и к РНР 4.



Эта глава написана с предположением, что профаммирование на РНР производится одновременно с работой Web-сервера Apache. Должны быть также установлены клиентская библиотека MySQL С и файлы заголовков. Эти файлы вам понадобятся при посфоении РНР. В противном случае РНР не сможет получить доступ к базам данных MySQL. Если у вас такое профаммное обеспечение отсутствует, обратитесь к приложению А, Получение и инсталляция профаммного обеспечения . Кроме всего прочего, там вы найдете инсфукции по получению текстов сценариев, разработанных в этой главе. Их можно будет просто зафузить и не заниматься рутинным вводом текстов этих сценариев с клавиатуры.

При работе под управлением ОС UNIX, РНР может работать с сервером Apache в виде всфоенного модуля, связанного с двоичным исполнимым кодом сервера, или в виде автономного интерпретатора, работающего как фа-диционная профамма CGI. При работе под управлением ОС Windows, язык РНР может работать только в качестве автономной профаммы, хотя идет разработка модуля РНР 4, работающего под управлением ОС Windows NT.

В основном, эта глава описывает функции языка РНР по мере их необходимости в излагаемом материале. Более полный перечень функций языка РНР, имеющих отношение к интерфейсу с СУБД MySQL, можно найти в приложении 3, Программный интерфейс языка РНР . Вероятно, пофебуется обратиться к руководству по языку РНР, содержащему более полное описание функций языка, включая даже те функции, которые используют другие СУБД Это руководство можно найти на Web-узле по адресу http: www.php.net/.

Характеристики сценария, написанного на языке РНР

Имена файлов для сценариев РНР обычно имеют расширение, которое легко позволяет вашему Web-серверу их распознать и запустить интерпретатор РНР для их вьшолнения. При использовании других расширений РНР-сценарии будут обработаны как текстовые файлы. В этой главе используется расширение .php Другими часто используемыми расширениями являются расширения .php3 и .phtml. Как конфигурировать сервер Apache, чтобы он распознавал эти расширения, можно узнать в приложении А, Получение и инсталляция профаммного обеспечения . Если управление инсталляцией сервера Apache не входит в круг ваших прав и обязанностей, проконсультируйтесь с системным админи-сфатором, каким расширением вам будет удобней воспользоваться.

Основы языка РНР

Основной задачей языка РНР является интерпретация сценария для генерации Web-сфаницы, которая отсылается профамме-клиенту. Сценарий содержит смесь HTML-кода, который высылается в литеральном



1 ... 127 128 129 [ 130 ] 131 132 133 ... 264

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