Читать книгу 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 позволяют создавать сравнительно простые пользовательские формы, которые можно отнести, безусловно, уже к динамическим страницам.