Formulário de Contato - Funcionando
Olá galera, o tutorial abaixo vai te ajudar a criar um formulário de contato que funciona perfeitamente!
Basta seguir passo-a-passo, e caso surjam duvidas no meio do caminho, basta perguntar aqui mesmo.
PS: É necessário um conhecimento de HTML e uma base em lógica de programação!
1 - iremos criar o index.html onde ficará o formulário.
<form action="enviar.php" method="POST">
<input type="hidden">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Nome:<br> <input type="text" size="30" name="nome" value=""></td>
</tr>
<tr>
<td>E-mail:<br> <input type="text" size="30" name="email" value=""></td>
</tr>
<tr>
<td>Assunto:<br> <input type="text" size="30" name="assunto" value=""></td>
</tr>
<tr>
<td>Mensagem:<br> <textarea cols="40" rows="10" 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>
[/code]
Acima, criei um formulário simples com NOME, EMAIL, ASSUNTO, MENSAGEM.
Sinta-se a vontade para editar/adicionar, porem você deverá colocar name em todos os campos, exemplo:
Campo do nome: <input type="text" size="30" [b]name="nome"[/b] value="">
Porque será usado no PHP, no envio para e-mail.
Uma parte imporante e que não deve faltar também é o action="enviar.php" method="POST", dentro do form, pois o enviar.php é o nome do arquivo que iremos criar no segundo passo, onde ele enviará o email, e retornará as mensagens.
[b][size=3][color=#FF0000]2[/color][/size] - Agora iremos criar a parte de PHP.[/b]
Crie um arquivo [b]enviar.php[/b] com o código:
[code]
<?php
$nome = $_POST["nome"];
$email = $_POST["email"];
$assunto = $_POST["assunto"];
$mensagem = $_POST["mensagem"];
global $email;
$data = date("d/m/y"); //pegando a data do evio
$hora = date("H:i"); //pegando a hora
$ip = $_SERVER['REMOTE_ADDR']; //pegando ip do cara que enviou
if($nome != NULL or $mensagem != NULL or $assunto != NULL or $email != NULL) {
mail ("
[email protected]", //email para enviar dados
"$assunto",
"Nome: $nome\nData: $data\nIp: $ip\nHora: $hora\nE-mail: $email\n\nMensagem: $mensagem",
"From: $email"
);
echo "<p>Obrigado por entrar em contato, $nome</p>";
echo "<p>Entraremos em contato quando possível</p>";
}
else {
echo "<p>Mensagem não enviada, por favor preencha corretamente o formulário.</p>";
}
?>
Abaixo tem a explicação do código acima
2.1 - Você vai setar as variáveis:
$nome = $_POST["nome"];
• = Aqui é o nome da variável, você a escolhe.
• = Aqui é o nome do campo que voce usou no HTML (aonde vocês pois name="" que eu disse ser necessário)
As outras variáveis são para pegar a hora, data, etc. Não mecha.
2.2, você fará uma condição if, onde retornará erro caso não preenchido o formulário corretamente:
if($nome != NULL or $mensagem != NULL or $assunto != NULL or $email != NULL) {
• = Caso o campo do nome estiver em branco...
• = Caso o campo da mensagem estiver em branco...
E assim sucessivamente, você escolhe os campos necessários, só acrescentando or $variável != NULL
2.3 - você fará a ação caso a condição do passo 2.2 for verdadeira, ou seja, estiver todos os campos preenchidos:
mail ("
[email protected]", //email para enviar dados
"$assunto",
"Nome: $nome\nData: $data\nIp: $ip\nHora: $hora\nE-mail: $email\n\nMensagem: $mensagem",
"From: $email"
);
echo "<p>Obrigado por entrar em contato, $nome</p>";
echo "<p>Entraremos em contato quando possível</p>";
}
• = Para onde enviará os dados do formulário depois do cara clicar em Enviar
• = Aqui é a mensagem que aparecerá no email, as caracteres \n significam uma quebra de linha, ou seja, igual <br> do html
• = Aqui é a mensagem que aparecerá pro usuário logo quando ele clicar em Enviar.
2.4 - você fará a ação caso a condição do passo 2.2 for falsa, ou seja, estiver algum campo vazio:
echo "<p>Mensagem não enviada, por favor preencha corretamente o formulário.</p>"; }
• = Aqui vai a mensagem de ERRO.