Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ItarcioDsn

Implementar formulário de contato PHP em HTML

Recommended Posts

Oi!

 

Estou fazendo meu site, simples com html/css, e agora complicou quando cheguei no "formulário" de contato. Encontrei vários exemplos, fui testando, nenhum funcionou como eu gostaria, e algumas funções não sei como habilitar.

Encontrei esse código e fui mexendo um pouco. Utilizei o ZazouMiniWebServer para visualizá-la e há erros quando clico em Enviar na página HTML.

 

O código HTML (somente do formulário):

<form name="formulario" action="enviar.php" method="POST">
<input type="hidden">
<!-- e-mail do destinatario -->
	<table width="39%" border="0" align="left" cellspacing="12" cellpadding="0">
          <tr> 
         		<td>Nome<br> <input type="text" size="30" name="nome" value="" maxlength="20"></td>
          </tr>
          <tr> 
          		<td>E-mail<br>	<input type="text" size="30" name="email" value=""></td>
          </tr>
          <tr> 
               <td>Assunto<br> <input name="assunto" type="text" value="" size="30" maxlength="15"></td>
          </tr>
          <tr> 
               <td>Mensagem<br> <textarea cols="25" rows="5" name="mensagem"></textarea></td>
          </tr>
          <tr> 
           	<td> <input name="submit" type="submit" value=" Enviar "> 
			  <input name="reset" type="reset" value=" Limpar "></td>
          </tr>
       </table>
</form>

 

 

 

O código PHP:

<?
// Autor: Mateus Campos - E-mail: mateuscampos@globo.com - www.centralwarez.com - Msn: mateus@centralwarez.com  

// aqui começa o script
//pega as variaveis por POST
$nome      = $_POST["nome"];
$email   = $_POST["email"];
$assunto   = $_POST["assunto"];
$mensagem  = $_POST["mensagem"];

global $email; //função para validar a variável $email no script todo

$data      = date("d/m/y");                     //função para pegar a data de envio do e-mail
$ip        = $_SERVER['REMOTE_ADDR'];           //função para pegar o ip do usuário
$navegador = $_SERVER['HTTP_USER_AGENT'];       //função para pegar o navegador do visitante
$hora      = date("H:i");                       //para pegar a hora com a função date

//aqui envia o e-mail para você
mail ("itarciotwo@gmail.com",                       //email aonde o php vai enviar os dados do form
     "$assunto",
     "Nome: $nome\nData: $data\nIp: $ip\nNavegador: $navegador\nHora: $hora\nSite: $site\nE-mail: $email\nTelefone: $fone\n\nMensagem: $mensagem",
     "From: $email"
    );

//aqui são as configurações para enviar o e-mail para o visitante
$site   = "itarciotwo@email.com";                    //o e-mail que aparecerá na caixa postal do visitante
$titulo = "Resposta Automática";                  //titulo da mensagem enviada para o visitante
$msg    = "$nome, obrigado por entrar em contato conosco, entraremos em contato o mais rápido possível.";

//aqui envia o e-mail de auto-resposta para o visitante
mail("$email",
    "$titulo",
    "$msg",
    "From: $site"
   );
echo "<p align=center>$nome, sua mensagem foi enviada com sucesso!</p>";
echo "<meta http-equiv='refresh' content='8;URL=site.html'>";

 

 

As dúvidas são:

• No final, vou ter uma página html, um css e um php, certo?

• Como validar todos os campos para que não sejam enviados em branco, validando também o e-mail?

• Como fazer pra quando não preenchidos os campos corretamente receber mensagem na mesma página só que não por alerta?

• Gostaria que o recado de "mensagem enviada com sucesso" aparecesse na mesma página, tipo abaixo do formulário, assim como as mensagens de não preenchimento dos campos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada aqui. São feitas as validações dos campos e exibição das mensagens de erro, mas não em alert. Também exibo a mensagem de sucesso na mesma página.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada aqui. São feitas as validações dos campos e exibição das mensagens de erro, mas não em alert. Também exibo a mensagem de sucesso na mesma página.

 

Vou dar uma olhada. Mas me parece um código complicado, tenho conhecimento limitado. Meu formulário é simples e eu tô me batendo...

 

Mas obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade o código tem mais comentário do que código, e ele utiliza PHPMailer para envio, com autenticação pelo Gmail (que parece que você não precisa). Então, muitas partes do código você não vai utilizar.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.