Escolar Documentos
Profissional Documentos
Cultura Documentos
Este Tutorial trata dos formulrios de pedido que permitem que o visitante
encomende um produto on-line. Depois de submeter o pedido, este
enviado por correio eletrnico para ser processado.
Primeiro preciso criar a pgina Web. Esta pgina permite que o visitante
digite informaes, selecione itens de listas ou checkbooks e submeta as
informaes digitadas, que ento so enviadas para o script. Para que o
documento HTML seja efetivo, ele precisa ser intuitivo.
Simplesmente olhando a pgina, o cliente deve ser capaz de compreender
qual informao precisa ser digitada em qual lugar. Quanto mais intuitiva for
sua pgina, mais chances deu script ter de funcionar corretamente,
evitanto o perigo de desencorajar o visitante.
A primeira seo do documento deve indicar ao visitante qual a finalidade
da pgina. No exemplo de pgina usado neste Tutorial, uma empresa de
venda de carros deseja comercializ-los na Web.
</HEAD>
<BODY>
Nome = fname
Sobrenome = lname
Email = email
Endereo = street
Cidade = city
Estado = state
CEP = zip
Essas informaes devem ser suficientes para a sua pgina Web. Claro,
possvel acrescentar qualquer outra informao que atenda s suas
necessidades especficas. Agora colocamos essas informaes no
documento:
Endereo: <INPUT TYPE=text NAME=street SIZE=46>
Cidade: <INPUT TYPE=text NAME=city SIZE=12>
Estado: <INPUT TYPE=text NAME=state SIZE=4>
CEP: <INPUT TYPE=text NAME=zip SIZE=9>
Agora preciso apresentar aos visitantes a lista dos produtos que eles
podem comprar. provvel que voc necessite incluir tambm outras
opes. Por exemplo, uma florista que vende rosas deveria dar ao cliente a
opo de escolha de cor, tamanho etc.
No exemplo deste tutorial, estamos vendendo carros, logo convm dar ao
consumidor vrias opes de modelo, cor, ano e algumas caractersticas
adicionais. Com relao ao modelo, oferecemos as opes Tortoise, yena,
Aphid e Diamond Black:
Nota:
Portas = 2 3 4
<HR>
Pagamento
<INPUT TYPE=radio NAME=billing VALUE=bill> Fatura
<INPUT TYPE=radio NAME=billing VALUE=Carto de Crdito> Carto
de Crdito
Nome no Carto: <INPUT TYPE=text NAME=Cname SIZE=46>
Nmero do Carto: <INPUT TYPE=text NAME=cnum SIZE=14>
Validade do Carto: <INPUT TYPE=text NAME=xexpire SIZE=8>
</PRE> <HR>
Enviando o Pedido
O Script
Determinando o Mtodo
#! /usr/local/bin/perl
If ($ENV{REQUEST_METHOD} NE POST)
{
print <<HTML;
<HTML>
<HEAD>
<TITLE>Lamento!</TITLE>
</HEAD>
<BODY>
<H1>Uso de Mtodo Errado!</H1>
Lamento, mas s utilizamos o mtodo POST aqui.
</BODY>
</HTML>
HTML
exit;
}
Dividindo as Informaes em Pares Nome/Valor
Primeiro leia o STDIN at o final do string, tal como definido pelo uso de
$ENV{CONTENT_LENGHT}. Em seguida, separe as linhas, dividindo a linha
quando encontrar o E comercial (&), na lista @pairs. Neste ponto, temos
vrios pares nome/valor e substituir os sinais de adio pelos espaos
apropriados.
A data.
endereo de correio eletrnico da pessoa que recebe o pedido.
path e nome do programa de correio.
Uma linha de assunto para o correio eletrnico que informa ao destinatrio
que o formulrio de pedido para a compra de um carro. Essa linha ajuda o
leitor a compreender a natureza do pedido sem ter de ler a mensagem
inteira.
Obtendo a Data
$mailprog =/usr/lib/sendmail;
$sendto = rniles\@selah.net;
$subject = Compra de automovel;
Agora, vamos enviar a mensagem. Primeiro use a funo open() para enviar
sua sada para sendmail:
open(MAIL, |$mailprog -t) |
Em Thu Jul 1 11:59:42 EST 1998, Eduardo Mota decidiu comprar um carro
conosco. Eduardo escolheu um Tortoise verde 1995 2 portas(s).
Eduardo queria os seguintes opcionais:
if ($form{airbag})
{
print MAIL - Airbag para o passageiro\n;
}
if ($form{pcaps})
{
print MAIL - Calotas de plastico\n;
}
if ($form{rdefrost})
{
print MAIL - Desembacador do vidro traseiro\n;
}
if ($form{stire})
{
print MAIL - Estepe\n;
}
Esse comando permite que usemos o comando print apenas uma vez. Veja
se consegue descobrir o que acontece no exemplo abaixo:
if ($form{billing} eq bill)
{
print MAIL Mandaremos a fatura.\n;
}
if ($form{billing} eq ccard)
{
print MAIL Cobraremos pelo cartao de credito;
print MAIL em nome de $form{cname}.\n;
print MAIL CC\#$form{cnum} e validade $form{cexpire}.\n\n;
}
print <<HTML;
<HTML>
<HEAD>
<TITLE>Agradecimento</TITLE>
</HEAD>
<BODY>
<H1> Obrigado pela requisio! </H1>
Obrigado pela requisio <B>$form{fname}</B>! Esta mensagem foi
enviada para o departamento apropriado e ns iremos entregar o seu novo
$form{color} $form{year}
$form{model} $form{doors}-porta(s) assim que verificarmos o seu
crdito com um pente fino.<P>
Se no entrarmos em contato nos prximos 8 meses, envie email para <A
HREF=\mailto:$sendto\>$sendto</A>, e pergunte por que seu pedido no
foi atendido rapidamente</B> como esperado. <P>
Foi muito bom t-lo como cliente!!<P>
<I>Atenciosamente,</I><BR>
Sr. Supkay (ele mesmo).
</BODY>
</HTML>
HTML
Nota: Observe a barra invertida (/) na linha mailto:. Para garantir que voc
no conmfunda o interpretador Perl, s vezes melhor considerar as aspas
como caracteres especiais usando a barra invertida. Ento o interpretador
Perl saber que as aspas fazem parte do texto exibido e no do cdigo Perl.
exit()
Resumo