Blog ComercialWeb - São Paulo - SP
E-mail: [email protected]
Atualizado: 06/10/2025

Formulário de Contato PHP Personalizado com Validação de Campos

Formulário de Contato PHP Personalizado com Validação de Campos

Formulário PHP: captura e validação eficientes de detalhes de contato

Em uma era digital, a interação efetiva com o usuário é vital. Um bom formulário captura o essencial com clareza, valida os dados e oferece feedback amigável.

O formulário abaixo coleta nome, e-mail, telefone e observações, aplicando validação no navegador e no servidor para garantir dados consistentes.

Página do formulário (HTML)

<form action="processa_form.php" method="post">
  <label for="fname">Nome</label>
  <input type="text" id="fname" name="name" placeholder="Seu nome.." required>

  <label for="lemail">Email</label>
  <input type="email" id="lemail" name="email" placeholder="Seu email.." required>

  <label for="lfone">Telefone</label>
  <input type="tel" id="lfone" name="phone" placeholder="Seu telefone.." required>

  <label for="subject">Observação</label>
  <textarea id="subject" name="observation" placeholder="Escreva algo.." style="height:200px"></textarea>

  <input type="submit" value="Enviar">
</form>

Script PHP com validação e sanitização

<?php
$name = $email = $phone = $observation = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $name = test_input($_POST["name"] ?? "");
  $email = test_input($_POST["email"] ?? "");
  $phone = test_input($_POST["phone"] ?? "");
  $observation = test_input($_POST["observation"] ?? "");
  if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Formato de e-mail inválido!"; return;
  }
  echo "Nome: " . $name . "<br>";
  echo "Email: " . $email . "<br>";
  echo "Telefone: " . $phone . "<br>";
  echo "Observação: " . $observation;
}
function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
?>

O script valida o formato de e‑mail e também remove espaços, barras invertidas e codifica caracteres especiais para reduzir riscos de injeção e XSS.

Perguntas frequentes

Validação no cliente é suficiente?
Não. Sempre valide no servidor (PHP) para garantir integridade e segurança, mesmo com HTML5/JS no cliente.
Como evitar XSS no formulário?
Use htmlspecialchars, valide formatos, limite comprimento e não imprima dados sem escapar.
Como reduzir spam em formulários?
Aplique honeypot, limites de envio e, se necessário, CAPTCHA. Valide e-mails e origem do POST.
Como enviar e-mail com os dados?
Integre com SMTP via PHPMailer, defina From confiável, Reply-To e use TLS.
Fonte: Redação

Veja um modelo pronto estilizado


Mais Lidos

Ferramentas úteis

Precisa gerar senhas, validar CPF/CNPJ ou criar QR Code? Acesse nossos Geradores e Validadores Online.