Um formulário de contato simples em PHP usando Ajax.

• Publicado em: junho 28, 2013

Nesse explicativo é muito simples para mostra-lhe um formulário simples de contato em php usando Ajax para mandar e-mail.

Nesse caso começaremos com a form que é feito em HTML 5:

[code lang=”html”]
<form id="form" method="POST" action>
<input type="text" name="nome" placeholder="Nome" required>
<input type="email" name="email" placeholder="E-Mail" required>
<input type="text" name="assunto" placeholder="Assunto" required>
<textarea class="backTxtArea" name="mensagem" placeholder="Mensagem" required></textarea>
<button id="submit" type="submit"> Enviar </button>
</form>
[/code]

Segue um form com quatro campos de texto e um buttom para submeter o nosso form ao nosso código php.

Em seguida criamos o código Ajax jQuery para enviar os detalhes do formulário para o nosso código PHP:

[code lang=”html”]
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$(‘#submit’).click(function(){
$.post("sendMail.php", $("#form").serialize(), function() {
$(‘#success’).html(alert(‘Seu E-Mail foi enviado com sucesso.’));
$("#form")[0].reset();
});
return false;
});
});
</script>
[/code]

Aqui chamamos o código jQuery diretamente a partir da biblioteca de código jQuery. Em seguida, escrever código para executar quando a página é feito o carregamento.

Nós usamos um evento onclick que envia os dados do formulário para o nosso arquivo sendMail.php que contém o nosso código PHP para lidar com o envio de e-mail. Em seguida, defina uma mensagem de sucesso em um alert e logo reseta o form.

Abaixo você irar fazer um arquivo php com qualquer nome que no meu caso eu coloquei o nome sendMail.php:

[code lang=”php”]
<?
// 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
$hora = date("H:i"); //para pegar a hora com a função date
//aqui envia o e-mail para você
mail("contato@romae.com.br", //email aonde o php vai enviar os dados do form
"Contato do Site", "Nome: $nome\n
Data: $data\n
Ip: $ip\n
Hora: $hora\n
E-mail: $email\n
Assunto: $assunto\n
Mensagem: $mensagem\n",
"From: $email"
);
?>
[/code]

O Código está muito bem comentado caso tenha dúvida deixa nos comentários.