PHP код:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
// Читаем переменные среды, установленные веб-сервером
char *query_string = getenv("QUERY_STRING");
char *request_method = getenv("REQUEST_METHOD");
char *post_data; // Буфер для данных POST-запроса
int post_length = 0; // Длина тела запроса
if (strcmp(request_method, "POST") == 0) { // Если получен POST-запрос,
post_length = atoi(getenv("CONTENT_LENGTH")); // сначала читаем из
// переменной среды его длину,
if (post_length) { // если она не нулевая,
post_data = (char*)malloc(post_length+1); // выделяем память для буфера,
fread(post_data, post_length, 1, stdin); // читаем со стандартного ввода тело запроса,
post_data[post_length] = 0; // завершаем строку нулевым байтом.
}
}
// Выводим заголовок ответа...
printf("Content-type: text/html\r\n\r\n");
// и его тело:
printf("<h1>Здравствуйте!</h1>\r\n");
if (strlen(query_string)) {
printf("<p>Параметры GET-формы: %s\r\n", query_string);
}
if (post_length) {
printf("<p>Параметры POST-формы: %s (длина тела запроса: %d)\r\n", post_data, post_length);
free(post_data); // не забываем освободить выделенную в строке 17 память
}
return 0;
}