Script de formulário de contato com confirmação em php

Arquivo de (PHP, Scripts) por Jonas Olmos em 04-04-2008 - 12,606 visualizações

Tags: , , ,

a a a

Fala Pessoal, após diversos pedidos e e-mails recebidos, começaremos a alimentar o MX Masters com scritps e tutoriais em PHP. Primeiramente vamos pelo mais simples e em seguida, passaremos a ver tutoriais e scripts mais avanços que vos auxiliarão a construir websites ou portais de maneira interativa.

Em nosso 1º “capítulo” começaremos por um simples script de formulário de e-mail com resposta automática. Na verdade este script não foi criado por mim. Baixei da “net” há pelo menos 4 anos e sempre utilizo nos sites que construo e que necessitam de uma confirmação automática.

Porém friso mais uma vez que não se trata de um tutorial explicando passo-a-passo como criar o sisteminha, mas sim de um script já pronto, na qual vamos basicamente lhe explicar apenas como configura-lo de uma maneira bem simples e rápida.

Vamos lá!

Nosso script consiste em 3 arquivos. O 1º é o que contém o nosso formulário (contato.html), sendo que no campo “form” vamos chamar um arquivo em PHP (form.php) com todas as nossas configurações de dados e envio para o e-mail desejado.

ARQUIVO: contato.html


<html>
<form name="senddata" method="post" action="form.php">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td class="tahoma-02-cinza"><div align="right">Nome:<b><i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF">
<input name="nome" type="text" class="fomu" size="38">
</font></i></b></td>
</tr>
<tr>
<td class="tahoma-02-cinza"><div align="right"><b>E-mail:<i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF">
<input name="email" type="text" class="fomu" size="38">
</font></i></b></td>
</tr>
<tr>
<td class="tahoma-02-cinza"><div align="right">Telefone:<b><i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF">
<input name="telefone" type="text" class="fomu" id="telefone2" size="38">
</font></i></b></td>
</tr>
<tr>
<td class="tahoma-02-cinza"><div align="right"><b>Cidade:<i><b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000"></font></i></b></i></b></div></td>
<td><b><i><b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000">
<input name="cidade" type="text" class="fomu" size="38">
</font></i></b></i></b></td>
</tr>
<tr>
<td class="tahoma-02-cinza"><div align="right">Assunto:<b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000">
<input name="assunto" type="text" class="fomu" size="38">
</font></i></b></td>
</tr>
<tr>
<td class="tahoma-02-cinza"><div align="right"><b>Mensagem:<i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF">
<textarea name="textodamensagem" cols="36" rows="4" class="fomu"></textarea>
</font></i></b></td>
</tr>
<tr>
<td></td>
<td><input name="enviar" type="submit" class="formcop" value="Enviar Mensagem"></td>
</tr>
</table>
</form>
</html>

O 2º arquivo é uma página de confirmação (enviado.html). Essa página será exibida quando o usuário preencher os dados e clicar em Enviar. Serve como uma confirmação para o usuário saber que a mensagem foi enviada.

ARQUIVO: enviado.html


<html>
Sua Mensagem foi envada com sucesso
</html>

O 3º e último arquivo é o mais importante de todos. É nele que fica todas as configurações de nosso formulário, tais como o Nome do Site e o E-mail que receberá os dados.

Para que o formulário funcione de acordo com as suas necessidades é muito simples, basta alterar os dados que estão no cabeçado do arquivo listado abaixo (form.php).

Na variável “$nome_do_site” preencha com o nome do seu site ou da sua empresa. Já na variável “$email_para_onde_vai_a_mensagem” preencha com o e-mail que você você deseja receber os formulários. Na variável “$nome_de_quem_recebe_a_mensagem” coloque o nome da pessoa que vai ler a mensagem ou o responsável pelo site, ou então, deixe em branco. E por último, a variável “$exibir_apos_enviar” chama o arquivo ou página que será exibida para o usuário após ele enviar o formulário de contato. Não há nenhuma necessidade de alterar outros ítens e variáveis do arquivo, pois o script pode passar a não funcionar corretamente.

OBS: Se for necessário incluir campos adionais em seu formulário, basta adicionar novos campos de texto e nomeá-los conforme o assunto dentro do arquivo contato.html. Em seguida, adicione o mesmo campo com o mesmo nome na configuração também no arquivo form.php, dentro da variável “$configuracao_da_mensagem_original”, seguindo os mesmos moldes dos campos que já estão configurados. Exemplo: se formos adicionar o campo Endereço, além de adicionar um “input text” no formulário de contato, teremos de adicionar a seguinte linha “Endereço: $endereço \n”, dentro da variável “$configuracao_da_mensagem_original”. Na qual “\n” é o comando para pular uma linha. Muito simples!

ARQUIVO: form.php


<?php
$date = date("d/m/Y h:i");

// ****** ATENÇÃO ********
// ABAIXO ESTÁ A CONFIGURAÇÃO DO SEU FORMULÁRIO.
// ****** ATENÇÃO ********

//CABEÇALHO - ONFIGURAÇÕES SOBRE SEUS DADOS E SEU WEBSITE
$nome_do_site="Seu Site";
$email_para_onde_vai_a_mensagem = "seunome@seuemail.com.br";
$nome_de_quem_recebe_a_mensagem = "Seu Nome";
$exibir_apos_enviar='enviado.html';

//MAIS - CONFIGURAÇOES DA MENSAGEM ORIGINAL
$cabecalho_da_mensagem_original="From: $name <$email>\n";
$assunto_da_mensagem_original="Contato no Site";

// FORMA COMO RECEBERÁ O E-MAIL (FORMULÁRIO)
// ******** OBS: SE FOR ADICIONAR NOVOS CAMPOS, ADICIONE OS CAMPOS NA VARIÁVEL ABAIXO *************
$configuracao_da_mensagem_original="

ENVIADO POR:\n
Nome: $nome\n
Email: $email\n
Telefone: $telefone\n
Cidade: $cidade\n
Mensagem: $textodamensagem\n

ENVIADO EM: $date

";

//CONFIGURAÇÕES DA MENSAGEM DE RESPOSTA
// CASO $assunto_digitado_pelo_usuario="s" ESSA VARIAVEL RECEBERA AUTOMATICAMENTE A CONFIGURACAO
// "Re: $assunto"
$assunto_da_mensagem_de_resposta = "Confirmação";
$cabecalho_da_mensagem_de_resposta = "From: $nome_do_site <$email_para_onde_vai_a_mensagem>\n";
$configuracao_da_mensagem_de_resposta="Obrigado por entrar em contato!\nEstaremos respondendo em breve...\nAtenciosamente,\n$nome_do_site\n\nEnviado em: $date";

// ****** IMPORTANTE ********
// A PARTIR DE AGORA RECOMENDA-SE QUE NÃO ALTERE O SCRIPT PARA QUE O SISTEMA FINCIONE CORRETAMENTE
// ****** IMPORTANTE ********

//ESSA VARIAVEL DEFINE SE É O USUARIO QUEM DIGITA O ASSUNTO OU SE DEVE ASSUMIR O ASSUNTO DEFINIDO
//POR VOCÊ CASO O USUARIO DEFINA O ASSUNTO PONHA "s" NO LUGAR DE "n" E CRIE O CAMPO DE NOME
//'assunto' NO FORMULARIO DE ENVIO
$assunto_digitado_pelo_usuario="s";

//ENVIO DA MENSAGEM ORIGINAL
$headers = "$cabecalho_da_mensagem_original";
if ($assunto_digitado_pelo_usuario=="n")
{
$assunto = "$assunto_da_mensagem_original";
};
$seuemail = "$email_para_onde_vai_a_mensagem";
$mensagem = "$configuracao_da_mensagem_original";
mail($seuemail,$assunto,$mensagem,$headers);

//ENVIO DE MENSAGEM DE RESPOSTA AUTOMATICA
$headers = "$cabecalho_da_mensagem_de_resposta";
if ($assunto_digitado_pelo_usuario=="n")
{
$assunto = "$assunto_da_mensagem_de_resposta";
}
else
{
$assunto = "Re: $assunto";
};
$mensagem = "$configuracao_da_mensagem_de_resposta";
mail($email,$assunto,$mensagem,$headers);

echo "<script>window.location='$exibir_apos_enviar'</script>";

?>

Espero que este script possa lhes ajudar em alguns casos. Considero um dos melhores em PHP e roda na grande maioria dos servidores. Aliás, nunca trabalhei com um servidor que recusou este script.

Dúvidas, problemas no funcionamento e sugestões, postem seus recados ou me envie um e-mail.

Até a próxima! Valeu!

CLIQUE AQUI E FAÇA O DOWNLOAD COMPLETO DO SCRIPT COM OS ARQUIVOS.

Comentários: