Сервер Web своими руками. Язык HTML, приложения CGI и ISAPI




Программа CONTROLS - часть 4


  }

 

  // Обработка метода GET

  else if(!strcmp(szMethod, "GET"))

  {

    // Получаем данные, полученные от формы.

    // При использовании метода GET эти данные

    // передаются в переменной среды QUERY_STRING

    szQueryString = getenv("QUERY_STRING");

   

    // Записываем эти данные в выходной файл

    fileReceived = fopen("received.dat", "w");

    fwrite(szQueryString, strlen(szQueryString) + 1,

       1, fileReceived);

    fclose(fileReceived);

   

    // Выводим в динамически формируемый документ HTML

    // значения некоторых переменных среды

    printf("<H2>Переменные среды</H2>");

    // Метод передачи данных

    printf("REQUEST_METHOD = %s", getenv("REQUEST_METHOD"));

    // Полученные данные

    printf("<BR>QUERY_STRING = %s", szQueryString);

    // Копируем принятые данные в буфер szSrcBuf

    strcpy(szSrcBuf, szQueryString);

    // Отображаем принятые данные

    printf("<H2>Принятые данные</H2>");

    printf("<P>%s", szSrcBuf);

   

    // Перекодируем данные и отображаем результат

    // перекодировки

    DecodeStr(szSrcBuf);

    printf("<H2>Данные после перекодировки</H2>");

    printf("<P>%s", szSrcBuf);

    // Выводим в документ список значений полей формы

    strcpy(szBuf, szQueryString);

    printf("<H2>Список значений полей</H2>");

    szBuf[strlen(szBuf)] = '&';

    szBuf[strlen(szBuf) + 1] = '\0';

    for(szParam = szBuf;;)

    {

      szPtr = strchr(szParam, '&');

      if(szPtr != NULL)

      {

        *szPtr = '\0';

        DecodeStr(szParam);

        printf("%s<BR>", szParam);

        szParam = szPtr + 1;

        if(szParam >= (szBuf + lSize))

          break;

      }

      else

        break;

    }




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