Читать книгу DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет - А. Шевелёв - Страница 8

Всё о сервере http://ixbase.info
Глава 3. Управление сервером
Запросы к серверу

Оглавление

Вот мы и подошли к сути задачи. А суть эта состоит в том, что серверу нужно посылать определённые запросы и получать необходимую информацию, запрошенную у сервера.

Здесь необходимо напомнить, что запросы к серверу строятся в виде блоков кода. Это обусловлено тем, что используется СУБД CLIPPER-xHarbour, которая ориентирована в данном случае на работу с блоками кода.

Например, следующий запрос к серверу, использующий свойства блока кода, будет выглядеть следующим образом:


src="http://localhost:4180/cb:='<table width=100%>», i:=1,DBFRUN00-> (dbgotop (), ixWhile (»! eof ()», ’cb+= [<tr> <td>] + str (i) + [<td>] +FieldGet (1) + [<td>] +FieldGet (2) + [<td width=100%>] + STRTRAN (FieldGet (3), [<], []),dbskip (),i++»)), cb»


Данный запрос заставляет сервер строить ответ, сразу содержащий непосредственно таблицу, данные и разметку, как показано на рис.3.2 в левой части формы.

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

http:// localhost:4180/ (123+4) /2

ответом будет вычисленный результат введённого математического выражения.

К серверу можно обращаться напрямую, как было показано выше, из адресной строки браузера.

К серверу можно обращаться из скриптов, которые хранятся в файлах типа *.html.

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


Рис. 3.2. Экранная форма запроса к таблице DBFRUN00, созданная с помощью скрипта dbfcodeblock.html


Рис. 3.3. Экранная форма запроса к таблице DBFRUN00, созданная с помощью скрипта PHP и базы данных MySQL


После нажатия кнопки «плюс» [+], которая отображена на экранной форме, представленной выше, соответствующий PHP-скрипт получает значения переменных $m, $id, $txt из пользовательской формы, как показано ниже, и переносит полученные значения в базу данных MySQL и таблицу DBFRUN00.dbf.


PHP-скрипт


$h=«localhost»;

$p=4180;

$page="http://".$h."/ixbase/e.php";

$sp=«ix=dbfrun00.rcve&naiblo=$m&alikey=$id&valblo=». urlencode (trim ($txt));

$np=strlen ($sp);

$fp=fsockopen ($h,$p,$errno,$errstr,10);

if (!$fp) {

echo «I can’t connect to $h»;

} else {

fputs ($fp,«POST $page HTTP/1.0

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-icq, */*

Content-Type: application/x-www-form-urlencoded

User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)

Accept: */*

Referer: http://$h/

Host: $h

Content-Length:». $np.»

Pragma: no-cache


«.$sp);


$reply=«»;

while (!feof ($fp)) $reply.=fgets ($fp,256); fclose ($fp);

echo "$reply»;


Примечание. Запросы к серверу из HTML-скриптов передаются с помощью метода GET или POST.

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

DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет

Подняться наверх