quarta-feira, 14 de julho de 2010

Formulário de contato com validação dos campos

Olá, neste post eu vou ensinar como criar um formulário de contato.

No código abaixo estão os campos que serão preenchidos, Nome, Email e Mensagem, na tag FORM temos a action que direciona para o arquivo PHP responsável pelo envio do email, o method será POST, para que possamos pegar as variáveis ocultamente.
<form action="enviar.php" method="post" enctype="multipart/form-data" name="form">

Nome: <input type="text" name="nome"/><br/>
Email: <input type="text" name="email"/><br/>
Mensagem: <textarea name="mensagem"/><br/>
<input type="submit" value="enviar"/>

</form>
Aqui abaixo está o código do arquivo PHP.
<?php
//pega as variáveis via POST
$nome = $_POST["nome"];
$email = $_POST["email"];
$mensagem = $_POST["mensagem"];

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

$data      = date("d/m/y");                     //função para pegar a data de envio do e-mail
$hora      = date("H:i");                       //para pegar a hora com a função date

// Proibindo que os campos fiquem em branco
if (($nome == "") || ($email == "") || ($mensagem == ""))
  {
    echo "<script>alert('Todos os campos devem ser preenchidos!');</script>";
    echo "<script>history.go(-1);</script>";
  }

// Validando o campo com E-mail
if (substr_count($email,"@") == 0 || substr_count($email,".") == 0)
  {
   echo "<script>alert('Por favor, utilize um e-mail válido');</script>";
   echo "<script>history.go(-1);</script>";
   } else {

//Aqui exibe o conteúdo das variáveis
$mens .= "<b>Nome:</b> $nome<br>\n";
$mens .= "<b>Email:</b> $email<br>\n";
$mens .= "<b>Mensagem:</b> $mensagem<br>\n";
$mens .= "<b>Data enviada:</b> $data<br>\n";
$mens .= "<b>Hora:</b> $hora\n";

$assunto = "Formulario de contato do meu site";
$conteudo = "$mens";
$remetente = "$email";
$destinatario = "seu@email.com.br"; //aqui é o endereço para onde será enviado o email
$headers = "From: ".$remetente."\nContent-type: text/html; charset=utf-8"; //o ‘text/html’ é o tipo mime da mensagem
if(!mail($destinatario,$assunto,$conteudo,$headers)){
echo "<script>alert('Ocorreu um erro, por favor preencha o formulario novamente.');</script>";
echo "<script>history.go(-1);</script>";
} else {
echo "<script>alert('Obrigado por enviar seus dados!');</script>";
echo "<script>history.go(-1);</script>";
}
}
?>

Para testar o formulário é necessário hospedar os arquivos em um servidor FTP para que o email possa ser enviado.

É isso, espero que gostem, até mais!

Nenhum comentário:

Postar um comentário