Ter um formulário de contato no seu site é essencial para que os visitantes possam se comunicar com você de forma rápida e direta. Neste post, vou te ensinar a criar um formulário de contato simples usando HTML e PHP, com envio de e-mails.
Passo 1: Estrutura HTML
Primeiro, vamos criar o formulário em HTML. Este formulário terá campos para nome, e-mail, assunto e mensagem.
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Formulário de Contato</title>
</head>
<body>
<h2>Entre em Contato</h2>
<form action="enviar.php" method="POST">
<label for="nome">Nome:</label>
<input type="text" id="nome" name="nome" required><br><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required><br><br>
<label for="assunto">Assunto:</label>
<input type="text" id="assunto" name="assunto" required><br><br>
<label for="mensagem">Mensagem:</label><br>
<textarea id="mensagem" name="mensagem" rows="5" required></textarea><br><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
Passo 2: Manipulando o envio com PHP
Agora, vamos criar o script PHP para processar o formulário e enviar os dados via e-mail. Vamos usar a função mail()
do PHP.
Crie um arquivo chamado enviar.php:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
// Validação simples (você pode expandir esta parte)
if (!empty($nome) && !empty($email) && !empty($mensagem)) {
// E-mail que receberá a mensagem
$destinatario = "seuemail@dominio.com";
// Assunto do e-mail
$email_assunto = "Contato do site: $assunto";
// Corpo do e-mail
$email_corpo = "Nome: $nome\n";
$email_corpo .= "Email: $email\n\n";
$email_corpo .= "Mensagem:\n$mensagem\n";
// Cabeçalhos
$headers = "From: $email\r\n";
$headers .= "Reply-To: $email\r\n";
// Enviar o e-mail
if (mail($destinatario, $email_assunto, $email_corpo, $headers)) {
echo "Mensagem enviada com sucesso!";
} else {
echo "Erro ao enviar mensagem. Tente novamente.";
}
} else {
echo "Por favor, preencha todos os campos.";
}
}
?>
Passo 3: Teste e Ajustes
Agora que o formulário está criado, basta testar para garantir que o e-mail esteja sendo enviado corretamente. Aqui estão algumas dicas:
- Servidor de e-mail: Certifique-se de que seu servidor PHP está configurado para enviar e-mails. Em servidores locais, como o XAMPP, pode ser necessário configurar um servidor de e-mails como o SMTP;
- Validações: Adicione validações de campo mais robustas, como filtro de e-mail e verificação de campos obrigatórios.
Outro exemplo prático
O código PHP abaixo recebe os dados passados pelo formulário através do método POST:
//Dados do cliente recuperados pelo servidor
$ip = getenv("REMOTE_ADDR"); //IP
$navegador = ($_SERVER['HTTP_USER_AGENT']); //Navegador
//setando o fuso horário onde o servidor se encontra
date_default_timezone_set('America/Sao_Paulo');
$data = date("Y/m/d"); //Data (formato americano)
$hora = date ("H:i"); //Hora
//Dados do servidor
$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = 'meu_banco';
$tabela = 'minha_tabela';
//Executa a conexão com o MySQL
$link = mysql_connect($servidor, $usuario, $senha) or die ('Não foi possível conectar:
'.mysql_error());
//Seleciona o banco de dados
$select = mysql_select_db($banco);
//Verifica se o arquivo foi chamado partir de um formulário
//se a variável "acao" passada via URL for igual a "contato"
if($_REQUEST["acao"] == "contato")
{
//Recupera dados do formulário enviados pelo método POST
$nome = $_POST["nome"];
$email = $_POST["email"];
$conheceuSite = $_POST["ondeConheceuSite"];
$duvSug = $_POST["duvidasSugestoes"];
$boletim = $_POST["boletim"];
//Se o checkbox não estiver marcado...
if($boletim != 'on')
{
$boletim = false;
}
//Expressão SQL de inserção de dados
$sql = "INSERT INTO $tabela (nome, email, comoConheceu, comentarios, malaDireta, ip,
navegador, data, hora VALUES('$nome','$email','$conheceuSite','$duvSug','$boletim','$ip',
'$navegador', '$data', '$hora')";
//Executa a expressão SQL no servidor, e armazena o resultado
$result = mysql_query($sql);
//Verifica o sucesso da operação
if(!$result)
{
die('Erro: '.mysql_error());
}
//Se a operação foi realizada com sucesso, redireciona para a página de aviso
else
{
header("Location: _avisoContato.php"); //redirecionamento
}
}
Criar um formulário de contato com PHP é relativamente simples e essencial para que seus visitantes entrem em contato com você. Agora é só personalizar conforme a necessidade do seu projeto!
Então conheça o curso online que já ajudou milhares de pessoas a aprender a programar e desenvolver seus próprios projetos do ZERO e usando orientação a objetos de uma forma fácil de entender.
CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários