Beruflich Dokumente
Kultur Dokumente
www.criarweb.com
Autores do manual
Este manual foi criado pelos seguintes colaboradores de Criarweb.com:
Miguel Angel Alvarez Traduo de JML
(5 captulos)
Um dos mtodos de contato com o navegante, talvez o mais habitual, trata-se de criar um
formulrio que o visitante possa preencher com sua informao pessoal e os comentrios ao
administrador e posteriormente enviar por correio eletrnico. O envio do correio com o
formulrio efetuado atravs do programa de correio que o visitante tem instalado em seu
computador, por exemplo, o Outlook Express. O problema neste caso que, se o computador
do usurio no tem programa de correio ou se este se encontra mal configurado, o formulrio
no poder ser enviado.
Outros inconvenientes de mandar o formulrio utilizando o cliente de correio eletrnico,
consistem em que no se pode oferecer uma pgina que confirme o envio do correio e que
agradea ao visitantes o tempo utilizado em preencher o formulrio. Tudo isto pouco
interessante e incmodo.
Neste artigo vamos relatar, mais concretamente, as distintas opes de implementar um
formulrio que seja enviado automaticamente pelo servidor da pgina depois de seu
preenchimento.
Artigo por Miguel Angel Alvarez - Traduo de JML
Referncia:queles que no saibam que tipo de programao a do servidor e desejem clarear este
conceito, deveria ler o manual de Pginas Dinmicas ou o de Introduo s linguagens do web.
Neste artigo vamos assinalar as trs tecnologias com as quais usamos para implementar o
envio de correios e alguma outra indicao sobre como realiza-lo. As trs tecnologias so CGI,
ASP e PHP. Segundo nosso caso, deveremos escolher uma delas, a que melhor nos convm, ou
ento, a que tivermos a nossa disposio no lugar de hospedagem de nossas.
Se estivermos trabalhando com nosso prprio servidor no ser difcil saber qual destas
tecnologias temos disponvel, porque certamente j estaremos utilizando alguma delas. Por
exemplo, se instalamos Personal Web Server ou IIS, teremos disponvel a programao em
ASP. Se tivermos um Linux com Apache poderemos utilizar PHP ou CGI.
Referncia: Tudo necessrio para comear a programar em ASP e PHP pode ser encontrado em nossas
sees:
ASP a fundo
PHP a fundo
O componente CDONTS (presente em muitas das instalaes de IIS) serviria para realizar o
envio do e-mail, mas tambm existem no mercado outros componentes de servidor comerciais
para realizar essas aes com maiores funcionalidades. Um deles AspEmail, que o que
vamos utilizar neste script, mas no o nico.
Nota: Insistimos em dizer que o seguinte cdigo, que faz a ao de enviar um e-mail, no funcionar se
no tivermos o componente ASP AspEmail instalado corretamente em nosso servidor. Ademais,
deveramos consultar a documentao do componente, para comprovar que na verso que baixarmos
continua funcionando tudo como aparece a seguir.
Podemos nos guiar pelos comentrios para termos uma idia do funcionamento deste pedao
de cdigo. Basicamente cria-se o objeto mail, que conter o correio que vai ser gerado, e
definem-se suas propriedades como o servidor de correio a utilizar, o destinatrio ou o
assunto. Logo, envia-se e realiza-se uma simples tarefa de deteco de erros para saber se a
tarefa pde ser realizada com xito ou no e mostrar uma mensagem adequada para cada
caso.
Nota: No se pretende explicar os pormenores deste Control Activex do servidor, j que existe uma
excelente documentao e exemplos na pgina web da empresa que o desenvolveu. Neste caso de que se
deseja aprender algo mais, por favor, dirijam-se pgina www.aspemail.com ou a do componente o qual
disponham.
Neste caso vamos utilizar a varivel $_POST, que deveria conter o formulrio, para saber se
recebemos ou no dados desde um formulrio. Essa varivel vamos utiliza-la num enunciado if
(!$_POST), que se for positivo (no temos nada em $_POST), significa que no se recebeu
nada desde um formulrio. Nesse caso, mostro o formulrio de contato.
Em caso contrrio (quando temos algo em $_POST), quer dizer que estamos a receber dados
atravs de um formulrio e nesse caso, recolhemos os dados e compomos o corpo da
mensagem.
Vejamos o cdigo da pgina para criar o formulrio , recebe-lo e compor o corpo da mensagem
que vai ser enviada. No mesmo cdigo poderemos encontrar tambm a chamada funo que
envia o correio.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Envie-nos os seus comentrios</title>
</head>
<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?
if (!$_POST){
?>
<form action="envia_form_php.php" method=post>
Nome: <input type=text name="nome" size=16>
<br>
Email: <input type=text name=email size=16>
<br>
Comentrios: <textarea name=coment cols=32 rows=6></textarea>
<br>
<input type=submit value="Enviar">
</form>
<?
}else{
//Estou a receber o formulrio, componho o corpo
$corpo = "Formulrio enviado\n";
$corpo .= "Nome: " . $_POST["nome"] . "\n";
$corpo .= "Email: " . $_POST["email"] . "\n";
$corpo .= "Comentrios: " . $_POST["coment"] . "\n";
//envio o correio...
mail("admin@seudominio.com","Formulrio recebido",$corpo);
//agradeo pelo envio
"Obrigado por preencher o formulrio. Foi enviado corretamente.";
}
?>
</body>
</html>