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!

QUER APRENDER PHP ORIENTADO A OBJETOS OU APERFEIÇOAR O QUE JÁ SABE?

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:

CLIQUE AQUI 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

Tags:

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *