1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Не Работает Cgi-скрипт

Тема в разделе "Вопросы новичков и не только", создана пользователем vladis222, 24 июн 2013.

  1. vladis222

    vladis222 Active Member

    Репутация:
    0
    Регистрация:
    6 дек 2011
    Сообщения:
    31
    Симпатии:
    0
    Здраствуйте,написал на языке С CGI-скрипт,но при запуске выдается ошибка ntpr!=null,и он не запускается,то есть,по кнопке переадресации, не выводит список введенной информации, подскажите,пожалуйста в чем может быть проблема?

    КОД ПРОГРАММЫ:
    Код:
    // cgi2.cpp: определяет точку входа для консольного приложения.
    //
    
    #include "stdafx.h"
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    return 0;
    }
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <locale.h>
    using namespace std;
    
    void conversion(char *st){
    char *p = st;
    char hex[3];
    int code;
    do {
    if (*st == '%'){
    hex[0] =*(++st); hex[1] =*(++st); hex[2] = 0;
    sscanf(hex, "%X", &code);
    *p++=(char)code;
    }
    else if (*st =='+') *p++=' ';
    else *p++=*st;
    }
    while (*st++!=0);
    }
    
    int main() {
    
    setlocale (LC_ALL,".1251");
    
    char *contentLen = getenv("CONTENT_LENGTH");
    int bytes = atoi(contentLen);
    char *STR = (char *)malloc(bytes + 1);
    
    fread(STR, 1, bytes, stdin);
    STR[bytes] = 0;
    
    conversion(STR);
    
    int STR_len = strlen(STR);
    int i;
    for (i = 0; i < STR_len; i++){
    if (STR[i] == '&')
    STR[i] = ' ';
    }
    
    for (i = 0; i < STR_len; i++){
    if (STR[i] == 'h' && STR[i+1] == 't' && STR[i+2] == 'm' && STR[i+3] == 'l'){
    printf("Content-type: text/html\n\n");
    break;
    }
    else if(STR[i] == 's' && STR[i+1] == 't' && STR[i+2] == 'r'){
    printf("Content-type: text/str\n\n");
    break;
    }
    else if(STR[i] == 'r' && STR[i+1] == 'e' && STR[i+2] == 'a' && STR[i+3] == 'd' && STR[i+4] == 'd' && STR[i+5] == 'r' && STR[i+6] == 'e' && STR[i+7] == 's' && STR[i+8] == 's'){
    printf("Location:http://localhost/readdress.html\n\n");
    break;
    }
    }
    
    printf("<h3>Значения из формы:</h3> %s",STR);
    }
     
  2. rrrFer

    rrrFer Гость

    Репутация:
    0
    тут 2 точки входа или мне кажется? - код компилируется?
     
Загрузка...
Похожие Темы - Не Работает Cgi
  1. nerfy
    Ответов:
    15
    Просмотров:
    121
  2. NetHunteRed
    Ответов:
    0
    Просмотров:
    33
  3. abdurtim
    Ответов:
    8
    Просмотров:
    299
  4. ghostphisher
    Ответов:
    26
    Просмотров:
    800
  5. seoman2
    Ответов:
    5
    Просмотров:
    297

Поделиться этой страницей