Сайтостроительство


         

Создание CGI-программ - часть 5


Далее, прежде чем перейти к рассмотрению cgi-скриптов, которые принимают и обрабатываю параметры формы, мы напишем простенькую программу, которая выдает строку параметров html-формы. О том, как считываются параметры формы, читайте выше, здесь я привожу исходный код программы и ее результат для html-формы, описанной в четвертой главе.

#include <stdio.h> #include <stdlib.h>

void main() { char* query=NULL;

if( !strcmp(getenv("REQUEST_METHOD"),"POST") ) { unsigned int len; len = atoi( getenv("CONTENT_LENGTH") ); query = (char*)malloc(len+1); fread(query, 1, len, stdin); query[len] = 0; } else if( !strcmp(getenv("REQUEST_METHOD"),"GET") ) { query=(char*)malloc(strlen(getenv("QUERY_STRING"))); strcpy(query,getenv("QUERY_STRING")); } else printf("unknown REQUEST_METHOD\n");

printf("Content-type: text/plain\n\n%s", query); free(query); }

Скомпилируйте этот код. Он платформенно независимый, поэтому можете скомпилировать как под Unix, так и под Windows. Из четвертой главы возьмите HTML-форму, можете взять и любую другую. В поле action пропишите путь к данной программе на вашем веб-сервере. Результат после нажатия на кнопку "Опубликовать":

text=zero&text=zero&list=0&list2=0&textarea=%C7%E4%E5%F1%FC+%F2%E5%EA%F1%F2+%EF%EE+%F3%EC%EE%EB%F7%E0%ED%E8%FE

Это строка, которая содержит список всех параметров Далее, вы можете воспользоваться нашей библиотекой ITCGI или же самим разбирать эту строку параметров. О библиотеке и ее практическом использовании читайте в следующей параграфе.




Содержание  Назад  Вперед