Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: CGI - Создание С++ программы для WEB
Форумы портала PHP.SU » » Программирование на C++ » CGI - Создание С++ программы для WEB

Страниц (1): [1]
 

1. ALEN - 09 Июля, 2011 - 16:58:28 - перейти к сообщению
Итак напишем простенькую программу для CGI - которая сможет выводить нам глобальные переменные.

Создаем простой проект Win32 Console Application:
CODE (php):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. #include <windows.h>
  4. #include <iostream>
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.         char szName[1024];
  10.         cout<<"Content-Type: text/html\n\n";
  11.         cout<<"<HTML><HEAD><TITLE>С++ CGI</TITLE></HEAD>\n";
  12.         cout<<"<body bgcolor='black' text='#F2F2F2' link='#FF9900' vlink='#FF9900' alink='#FF9900'>\n";
  13.         cout<<"<meta http-equiv='content-type' content='text/html; charset=windows-1251'>\n";
  14.         cout<<"<p style='line-height:100%; margin-left:10%;' align='center'><span style='font-size:14pt;'>Cgi-скрипт на С++.</span></p>\n";
  15.         char comment[256];  
  16.         if(GetEnvironmentVariable("QUERY_STRING",comment,256))
  17.         {cout<<"<p style='line-height:100%; margin-left:10%;'>Вы ввели: "<<comment<<"</p>\n";}
  18.         cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#FF9933'>Данные о клиенте:</font></p>\n";
  19.         if(GetEnvironmentVariable("HTTP_USER_AGENT",szName,1024))
  20.         {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_USER_AGENT: </font>"<<szName<<"</p>\n";}
  21.         if(GetEnvironmentVariable("HTTP_ACCEPT",szName,1024))
  22.         {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_ACCEPT: </font>"<<szName<<"</p>\n";}
  23.         cout<<"</BODY></HTML>\n";
  24.         return 0;
  25. }


После чего компилируем его Ctrl+F5 и получившийся exe файл переименовываем в cgi, например вышел у нас после компиляции web.exe - переименуем его в web.cgi и поместим в директорию на сервере от куда возможен запуск CGI скриптов - после чего запустим и увидим работу скрипта.


Цитата:
Получает переменную окружения по имени:
DWORD GetEnvironmentVariable
(
LPCTSTR lpName, // имя переменной
LPTSTR lpBuffer, // буфер для полученных результатов
DWORD nSize // размер буфера
);

 

Powered by ExBB FM 1.0 RC1