Criando um formulário de contato
Crie um formulário de contato que envie mensagens por e-mail
Criando um formulário de contato é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 2 de 2. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 2 aulas no total.
Introdução ao projeto de formulário de contato
Criando um formulário de contato
Boas-vindas à lição sobre como criar um formulário de contato! Neste projeto, você aprenderá a criar um formulário de contato que permite aos usuários enviar mensagens por e-mail. Vamos começar!

Configurando o projeto
Configurando o projeto
Antes de começar, certifique-se de que possui:
- Um servidor web, como XAMPP ou WAMP.
- Um editor de texto ou ambiente de desenvolvimento integrado (por exemplo, VS Code).
- Um arquivo chamado
contact.phpno diretório do projeto. - A função
mail()do PHP ativada (necessária para enviar e-mails).
Dica: Para realizar testes localmente, talvez seja necessário configurar as definições do servidor de e-mail.
Criando o formulário HTML básico
Criando o formulário HTML básico
Comece criando a estrutura HTML do seu formulário de contato. Exemplo:
Ponto importante: Use o atributo required para garantir que todos os campos sejam preenchidos antes do envio.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Contact Form</title>
</head>
<body>
<h1>Contact Us</h1>
<form action="contact.php" method="post">
<label for="name">Name:</label><br>
<input type="text" id="name" name="name" required><br><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email" required><br><br>
<label for="message">Message:</label><br>
<textarea id="message" name="message" rows="5" required></textarea><br><br>
<button type="submit" name="submit">Send Message</button>
</form>
</body>
</html>
Processando os dados do formulário
Processando os dados do formulário
No seu arquivo contact.php, processe o envio do formulário. Exemplo:
Dica: Use htmlspecialchars() para evitar ataques de XSS escapando os caracteres HTML.
<?php
if (isset($_POST['submit'])) {
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
echo "Name: $name<br>";
echo "Email: $email<br>";
echo "Message: $message<br>";
}
?>
Validando a entrada
Validando a entrada
Antes de processar os dados, valide a entrada para garantir que ela atenda aos requisitos definidos. Exemplo:
Ponto importante: Sempre valide a entrada do usuário para evitar dados inválidos ou maliciosos.
<?php
if (isset($_POST['submit'])) {
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
echo "Invalid email address.";
exit;
}
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
echo "Valid input. Processing...";
}
?>
Enviando o e-mail
Enviando o e-mail
Use a função mail() do PHP para enviar os dados do formulário para um endereço de e-mail. Exemplo:
Dica: Use um endereço válido em From para evitar problemas na entrega do e-mail.
<?php
if (isset($_POST['submit'])) {
$to = "admin@example.com"; // Replace with your email
$subject = "New Contact Form Submission";
$message = "Name: $name\nEmail: $email\nMessage:\n$message";
$headers = "From: $email";
if (mail($to, $subject, $message, $headers)) {
echo "Message sent successfully!";
} else {
echo "Failed to send the message.";
}
}
?>
Aprimorando o formulário
Aprimorando o formulário
Veja alguns aprimoramentos que você pode adicionar:
- Exiba mensagens de sucesso ou erro no próprio formulário.
- Estilize o formulário usando CSS para obter uma interface de usuário melhor.
- Implemente CAPTCHA para evitar envios de spam.
Ponto importante: Os aprimoramentos melhoram a experiência do usuário e a segurança.
Depurando problemas de e-mail
Depurando problemas de e-mail
Se o e-mail não for enviado, verifique o seguinte:
- Certifique-se de que a função
mail()do PHP está ativada. - Verifique se o endereço de e-mail em
Fromé válido. - Verifique os registros de e-mail do servidor em busca de erros.
Dica: Considere usar uma biblioteca como PHPMailer para obter recursos avançados de e-mail.
Muito bem!
Muito bem!
Parabéns! Você criou um formulário de contato funcional em PHP. Você aprendeu a criar o formulário, processar seus dados, validar a entrada e enviar e-mails. Na próxima lição, construiremos outro projeto divertido para aprimorar ainda mais suas habilidades em PHP. Vamos continuar programando!

Perguntas Frequentes
A aula “Criando um formulário de contato” é grátis?
Sim — o texto completo de “Criando um formulário de contato” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 2 aulas no total.
O que vou aprender em “Criando um formulário de contato”?
Crie um formulário de contato que envie mensagens por e-mail Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 2.
Quanto tempo leva a aula “Criando um formulário de contato”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Criando uma lista de tarefas simples
- Criando um formulário de contato