Um formulário pode ser criado dentro de uma página html usado a tag FORM. Uma página pode conter vários formulários, mas os formulários não podem estar contidos uns nos outros.
A sintaxe básica seria
<FORM METHOD="method" ACTION="url"> ... </FORM>
onde ACTION é a URL do servidor que receberá os dados do formulário (isto é, é o endereço do programa CGI responsável pelo tratamento dos dados) e METHOD é a forma como os dados serão passados para o programa CGI.
Um formulário pode conter vários componentes, como caixas de texto, check boxes e radio buttons.
Clique aqui para uma descrição detalhada desses componentes.
Existem dois métodos que podem ser usados para acessar as forms, GET e POST. Dependendo do método utilizado, voc^e receberá os dados de maneira diferente.
Se o seu formulário usa METHOD="GET", seu programa CGI receberá os dados codificados na variável de ambiente QUERY_STRING. Veja um fomulário que usa GET.
Se o seu formulário usa METHOD="POST", seu programa CGI receberá os dados da entrada padrão stdin. O servidor NãO enviará um EOF ao término dos dados. Ao invés disso voc^e terá que usar a var'iavel de ambiente CONTENT_LENGTH para determinar a quantidade de dados a serem lidos de stdin. Veja um formulário que usa POST.
Como fazer para ler uma var'iavel de ambiente dependerá do Sistema Operacional em que o progrema CGI será executado e da linguegem de programação em que doi escrito. Um programa C rodando em UNIX pode usar a função
char *getenv(const char *name);
que recebe o nome da variável como argumento e retorna o seu valor em um string.