Realizando Requisições POST com PHP: Guia e Formulário de Exemplo

Postado Por:

Categoria:

Postado em:

Realizando Requisições POST com PHP: Guia e Formulário de Exemplo

Introdução

As requisições POST são amplamente utilizadas em aplicações web para enviar dados de um cliente para um servidor. Diferente das requisições GET, os dados enviados por POST não são exibidos na URL, o que as torna ideais para enviar informações sensíveis, como senhas e dados de formulário. Neste artigo, vamos aprender como criar um formulário HTML que envia dados utilizando o método POST e como processar esses dados com PHP.

Criando o Formulário HTML

Primeiro, vamos criar um formulário HTML simples que permita ao usuário inserir seu nome e e-mail. Esse formulário usará o método POST para enviar os dados ao servidor.

.porto-u-4313.porto-u-heading{text-align:left}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Formulário de Contato</title>
</head>
<body>
    <h1>Formulário de Contato</h1>
    <form action="processa.php" method="POST">
        <label for="nome">Nome:</label>
        <input type="text" id="nome" name="nome" required>
        <br>
        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required>
        <br>
        <input type="submit" value="Enviar">
    </form>
</body>
</html>

Processando os Dados no Servidor

Agora, vamos criar o script PHP processa.php que receberá e processará os dados enviados pelo formulário.

.porto-u-8362.porto-u-heading{text-align:left}
<?php

// Coletar e validar os dados do formulário
$nome  = null;
$email = null;

if(isset($_POST['nome'])){
	$nome = $_POST['nome'];
}

if(isset($_POST['email'])){
	$email = $_POST['email'];
}

// Verificar se os dados foram preenchidos corretamente
if ($nome && $email) {
    echo "<h1>Dados Recebidos</h1>";
    echo "<p>Nome: " . htmlspecialchars($nome) . "</p>";
    echo "<p>Email: " . htmlspecialchars($email) . "</p>";
} else {
    echo "<p>Por favor, preencha todos os campos do formulário.</p>";
}

Uma outra abordagem, um pouco mais complexa

Agora, vamos criar o script PHP processa.php que receberá e processará os dados enviados pelo formulário.

.porto-u-2802.porto-u-heading{text-align:left}
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Coletar e sanitizar os dados do formulário
    $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING);
    $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);

    // Verificar se os dados foram preenchidos corretamente
    if ($nome && $email) {
        echo "<h1>Dados Recebidos</h1>";
        echo "<p>Nome: " . htmlspecialchars($nome) . "</p>";
        echo "<p>Email: " . htmlspecialchars($email) . "</p>";
    } else {
        echo "<p>Por favor, preencha todos os campos do formulário.</p>";
    }
} else {
    echo "<p>Requisição inválida.</p>";
}
?>

Explicação do Código

  1. Formulário HTML:

    • action="processa.php": Define o script PHP que processará os dados do formulário.
    • method="POST": Especifica que os dados do formulário serão enviados via método POST.
  2. Script PHP (processa_formulario.php):

    • $_SERVER["REQUEST_METHOD"] == "POST": Verifica se o método de requisição é POST.
    • filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING): Coleta e sanitiza o valor do campo 'nome'.
    • filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL): Coleta e sanitiza o valor do campo 'email'.
    • htmlspecialchars($nome): Escapa caracteres especiais para evitar ataques XSS.
    • Mensagens de erro são exibidas se os dados não forem preenchidos corretamente ou se a requisição não for válida.

Conclusão

Realizar requisições POST em PHP é uma habilidade fundamental para desenvolvedores web, permitindo o envio seguro de dados de formulários para o servidor. Este guia mostrou como criar um formulário HTML simples e processar os dados enviados utilizando PHP. Para mais informações sobre o método POST e processamento de formulários em PHP, confira as referências na documentação oficial.

Referências

Espero que este guia tenha sido útil para entender como realizar requisições POST em PHP. Se tiver dúvidas ou sugestões, deixe seu comentário abaixo. Até a próxima!

.porto-u-4045.porto-u-heading{text-align:left}

Deixe seu comentário

Posts RELACIONADOS