Aprenda a validar um formulário em PHP corretamente

Veja como validar dados de formulários em PHP utilizando técnicas seguras para evitar entradas inválidas e proteger seu sistema.

Como validar um formulário em PHP?

A validação de formulários é uma etapa essencial para garantir que os dados enviados pelos usuários sejam corretos e seguros. No PHP, podemos validar os dados diretamente no backend, prevenindo erros e ataques como SQL Injection e XSS.

Criando um formulário HTML

Primeiro, criamos um formulário básico para capturar nome e e-mail:

<form method="POST" action="processar.php">
    <label for="nome">Nome:</label>
    <input type="text" name="nome" id="nome" required>
    <label for="email">E-mail:</label>
    <input type="email" name="email" id="email" required>
    <button type="submit">Enviar</button>
</form>

Esse formulário enviará os dados via POST para processar.php.

Validando os dados no PHP

Agora, no arquivo processar.php, validamos os dados enviados:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $nome = trim($_POST["nome"]);
    $email = trim($_POST["email"]);

    if (empty($nome)) {
        echo "O campo Nome é obrigatório!<br>";
    }

    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        echo "E-mail inválido!<br>";
    } else {
        echo "Nome: " . htmlspecialchars($nome) . "<br>Email: " . htmlspecialchars($email);
    }
}
?>

Aqui, verificamos se o nome foi preenchido e validamos o formato do e-mail com FILTER_VALIDATE_EMAIL.

Criando mensagens de erro personalizadas

Podemos armazenar mensagens de erro em um array e exibi-las dinamicamente:

<?php
$erros = [];
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $nome = trim($_POST["nome"]);
    $email = trim($_POST["email"]);

    if (empty($nome)) {
        $erros[] = "O campo Nome é obrigatório.";
    }

    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $erros[] = "E-mail inválido.";
    }

    if (empty($erros)) {
        echo "Dados válidos!";
    } else {
        foreach ($erros as $erro) {
            echo "<p>$erro</p>";
        }
    }
}
?>

Esse método melhora a experiência do usuário, exibindo múltiplos erros de uma vez.

A validação de formulários no PHP é um dos passos mais importantes para garantir a segurança e integridade dos dados em um sistema web. O uso de trim(), empty() e filter_var() ajuda a prevenir entradas inválidas, enquanto a exibição de mensagens de erro melhora a usabilidade do formulário. É essencial validar todos os dados no backend, mesmo que haja validação no frontend.

Algumas aplicações:

  • Prevenção de erros em cadastros e login
  • Proteção contra ataques de injeção SQL
  • Validação de dados enviados via formulários de contato
  • Sanitização de informações antes de armazená-las no banco de dados

Dicas para quem está começando

  • Sempre use trim() para remover espaços desnecessários.
  • Utilize filter_var() para validar e-mails, URLs e números.
  • Não confie apenas na validação do frontend, pois ela pode ser burlada.
  • Exiba mensagens de erro de forma clara para o usuário.
  • Evite permitir caracteres especiais em campos que não os exigem.

Contribuições de Rafael Nogueira

Compartilhe este tutorial: Como validar um formulário em PHP?

Compartilhe este tutorial

Continue aprendendo:

Como capturar dados de um formulário em PHP?

Veja como capturar dados enviados por um formulário HTML utilizando PHP e os métodos GET e POST para processamento eficiente.

Tutorial anterior

Como evitar ataques de injeção SQL em PHP?

Veja como proteger suas aplicações PHP contra injeções SQL utilizando técnicas seguras de manipulação de banco de dados.

Próximo tutorial