Criando o fonte do programa executável


Como foi visto, o atributo ACTION do FORM especifica o nome do programa executável (.cgi) ao qual será submetido o FORM. Portanto será mostrado agora como criar a parte básica do programa fonte deste executável.

O exemplo que será apresentado neste tutorial utiliza a linguagem C para gerar o fonte do programa cgi.


#include <stdio.h>
#include <string.h>

#define MAX_ENTRIES 10000

typedef struct {
    char *name;
    char *val;
} entry;

char *makeword(char *line, char stop);
char *fmakeword(FILE *f, char stop, int *len);
char x2c(char *what);
void unescape_url(char *url); void plustospace(char *str); /* --------------------------------------------------------- FUNCAO: main
--------------------------------------------------------*/ main(int argc, char *argv[]) { entry entries[MAX_ENTRIES]; register int x, m=0; int cl; cl = atoi(getenv("CONTENT_LENGTH")); printf("Content-type: text/html%c%c",10,10); for (x=0; cl && (!feof(stdin)); x++) { entries[x].val = fmakeword(stdin,'&',&cl); plustospace(entries[x].val); unescape_url(entries[x].val); entries[x].name=makeword(entries[x].val,'='); } }


O bloco mostrado no exemplo acima realiza a separação dos valores dos pares name/value da lista de conteúdo do formulário, resultante da submissão do formulário ao programa cgi. O programa fonte principal sempre deverá iniciar com este bloco.

Os procedimentos fmakeword, plustospace, unescape_url, makeword estão disponíveis no arquivo util.c.