PHP Formulários e Tratamento de Dados

Os formulários são uma parte essencial da maioria das aplicações web, permitindo que os usuários enviem informações para os servidores. No contexto do PHP, o tratamento de dados dos formulários é uma tarefa fundamental para processar e validar os dados enviados pelo usuário. Neste artigo, exploraremos como criar formulários em PHP e abordaremos técnicas para tratar e validar os dados enviados através desses formulários.

Criando um Formulário em PHP

Antes de começarmos a tratar os dados enviados pelos formulários, precisamos criar um formulário HTML que permita aos usuários enviar informações para o servidor. Considere o seguinte exemplo de um formulário de contato simples:

<!DOCTYPE html>
<html>
<head>
    <title>Formulário de Contato</title>
</head>
<body>
    <h1>Formulário de Contato</h1>
    <form action="processa_formulario.php" method="POST">
        <label for="nome">Nome:</label>
        <input type="text" id="nome" name="nome" required>

        <label for="email">E-mail:</label>
        <input type="email" id="email" name="email" required>

        <label for="mensagem">Mensagem:</label>
        <textarea id="mensagem" name="mensagem" required></textarea>

        <button type="submit">Enviar</button>
    </form>
</body>
</html>

Neste exemplo, temos um formulário de contato com três campos: "Nome", "E-mail" e "Mensagem". O atributo action do elemento <form> define para onde os dados do formulário serão enviados após a submissão, e o atributo method especifica o método HTTP usado para enviar os dados (neste caso, estamos usando o método POST).

Tratamento dos Dados do Formulário em PHP

Após o usuário preencher o formulário e enviar os dados, precisamos processar essas informações no servidor. Para fazer isso, criaremos um arquivo PHP separado, neste exemplo chamado "processa_formulario.php", que receberá os dados do formulário e realizará o tratamento adequado.

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

    // Realizar validações e processamento adicional dos dados aqui

    // Exemplo de como exibir os dados recebidos
    echo "Nome: " . $nome . "<br>";
    echo "E-mail: " . $email . "<br>";
    echo "Mensagem: " . $mensagem;
}
?>

Neste exemplo, verificamos se o método HTTP utilizado é POST ($_SERVER["REQUEST_METHOD"] == "POST") antes de prosseguir para processar os dados. Em seguida, recuperamos os dados enviados pelo formulário usando a variável superglobal $_POST, onde as chaves correspondem aos atributos name dos campos do formulário.

Validação dos Dados

A validação dos dados do formulário é uma etapa crítica para garantir que apenas informações válidas e seguras sejam processadas pelo aplicativo. Abaixo, vamos discutir algumas técnicas comuns de validação de dados.

1. Validação de campos obrigatórios

Garantir que os campos obrigatórios sejam preenchidos antes de prosseguir com o processamento é essencial. Podemos usar o atributo required no formulário HTML para especificar quais campos são obrigatórios, mas também devemos validar no lado do servidor para maior segurança.

2. Filtragem de dados

Utilize funções como filter_var para filtrar e validar os dados enviados pelo usuário. Por exemplo, para validar um campo de e-mail, podemos usar:

$email = $_POST["email"];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    // E-mail válido
} else {
    // E-mail inválido
}

3. Proteção contra ataques XSS

Para prevenir ataques XSS (Cross-Site Scripting), utilize a função htmlspecialchars ao exibir dados do usuário em saídas HTML. Essa função converte caracteres especiais em entidades HTML, evitando que scripts maliciosos sejam executados no navegador do usuário.

$mensagem = $_POST["mensagem"];
echo "Mensagem: " . htmlspecialchars($mensagem);