O CGI-script

Veja dicas sobre CGI-script e o uso do Linux no boletim ViaLinuxis em: http://www.pcs.usp.br/~jkinoshi/bs/i2.html


Quando você preenche um formulário na internet, deve existir algum programa do lado do servidor que: Este programa que está no lado do servidor é um CGI-script e é ativado pelo programa que faz a interface com a web, ou seja, o web server.
Ressalva: atualmente existem outros tipos de programas diferentes de CGI-scripts e que tratam formulários, mas os CGI's estão sacramentados no mercado. Exemplo: servlets, programas em Java do lado do servidor.
Imagine agora a seguinte situação: você está dentro de seu browser predileto (ex: Netscape) e quer ativar um programa em sua própria máquina que trate de formulários. No Windows isto é (praticamente) impossível. Já no Linux isto é uma atividade simples, pois o próprio Linux já possui um web server que chama o seu programa CGI-script. Aliás, esta é uma das forma que uso para testar os meus CGI-scripts.

Resumindo, um CGI-script eh um programa que roda no servidor e tem como:

Processamento

Basicamente ele deverá: Estas operações podem ser vistas como operações de manipulação de strings.
Por exemplo: O Perl é uma linguagem que manipula muito bem strings e por isso é uma das preferidas (senão a preferida) para a criação de CGI-scripts.
 

Exemplo


Objetivo: Este CGI recebe a string "nome" correspondente ao email de alguem. O CGI envia um email para "nome" , alem de retornar uma pagina HTML indicando que o email foi enviado.
O códgio deste CGI (arquivo mandamail.cgi) é:

------------------------------
#!/usr/bin/perl -w
use CGI qw(:standard);

my $nome = param("nome");
print header() . start_html("Exemplo de um CGI") . h1("Exemplo de CGI") ;
if ($nome) {

     print p("enviei email para $nome");
     system("mail -s \"ViaLinuxis - palestra\" $nome <texto");

} else {

     print hr() . start_form();
     print p("digite seu email: " . textfield("nome", ""));

     print end_form() . hr();

}

-----------------------------------

Teste este CGI em sua própria máquina colocando este código em /home/httpd/cgi-bin/
Sete-o como executável e experimente o script em sua máquina local como:
http://localhost/cgi-bin/mandamail.cgi