Um dos métodos mais comuns para enviar dados de formulários em PHP é usando o método POST. Ele é amplamente utilizado em aplicações web para capturar informações de usuários, como login, registros, e envio de mensagens. Neste post, vou te mostrar como enviar valores de campos de formulários via POST no PHP.

O que é o método POST?

O método POST envia dados de um formulário para o servidor no corpo da requisição HTTP. Ao contrário do método GET, ele não exibe os dados na URL, o que o torna mais seguro para transmitir informações sensíveis, como senhas.

Criando o formulário HTML

O primeiro passo é criar um formulário HTML com os campos que deseja enviar. O atributo method="POST" indica que o formulário deve ser enviado via POST.

Veja um exemplo básico:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Envio de Formulário com POST</title>
</head>
<body>
    <h2>Formulário de Contato</h2>
    <form action="processa_formulario.php" method="POST">
        <label for="nome">Nome:</label>
        <input type="text" id="nome" name="nome" required><br><br>

        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required><br><br>

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

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

Explicação do formulário:

  1. action="processa_formulario.php": O formulário será enviado para o arquivo PHP chamado processa_formulario.php, onde os dados serão processados.

  2. method="POST": Especifica que os dados do formulário devem ser enviados usando o método POST.

  3. Campos de Entrada: O formulário contém três campos: nome, email e mensagem. Eles são enviados para o PHP para processamento.

Processando os dados com PHP

Agora, vamos criar o arquivo processa_formulario.php para capturar e processar os dados do formulário.

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Coletar os dados do formulário usando $_POST
    $nome = htmlspecialchars($_POST['nome']);
    $email = htmlspecialchars($_POST['email']);
    $mensagem = htmlspecialchars($_POST['mensagem']);

    // Exibir os dados enviados
    echo "<h2>Dados Recebidos:</h2>";
    echo "Nome: " . $nome . "<br>";
    echo "Email: " . $email . "<br>";
    echo "Mensagem: " . nl2br($mensagem) . "<br>";
} else {
    echo "Método de requisição inválido.";
}
?>

Explicação do Código PHP:

  1. Verificando o método de requisição: Utilizamos $_SERVER["REQUEST_METHOD"] para garantir que o formulário foi enviado usando o método POST.

  2. $_POST['campo']: A superglobal $_POST armazena os valores enviados pelos campos do formulário. Cada campo é acessado pelo nome atribuído no HTML (neste caso, 'nome', 'email', e 'mensagem').

  3. Segurança com htmlspecialchars(): Esta função é usada para prevenir ataques de Cross-site Scripting (XSS), convertendo caracteres especiais em entidades HTML, como < para &lt;.

  4. nl2br(): Para a mensagem de texto, usamos nl2br() para converter quebras de linha em <br> no HTML, garantindo que a formatação de parágrafos seja mantida.

Exemplo de Saída:

Após enviar o formulário, você verá algo assim no navegador:

Dados Recebidos:
Nome: João da Silva
Email: joao@gmail.com
Mensagem: Olá, gostaria de saber mais sobre seus serviços.

Enviando os dados para um banco de dados

Se desejar, você pode expandir esse exemplo salvando os dados em um banco de dados MySQL. Aqui está um exemplo de como fazer isso:

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

    // Conectar ao banco de dados
    $conexao = new mysqli('localhost', 'usuario', 'senha', 'banco');

    // Verificar a conexão
    if ($conexao->connect_error) {
        die("Conexão falhou: " . $conexao->connect_error);
    }

    // Preparar e executar a inserção no banco
    $sql = "INSERT INTO contatos (nome, email, mensagem) VALUES ('$nome', '$email', '$mensagem')";
    
    if ($conexao->query($sql) === TRUE) {
        echo "Dados salvos com sucesso!";
    } else {
        echo "Erro ao salvar: " . $conexao->error;
    }

    // Fechar a conexão
    $conexao->close();
}
?>

O método POST é ideal para enviar dados de formulários em PHP de forma segura e eficiente. Além disso, com o uso de $_POST, você pode facilmente capturar as informações enviadas e processá-las, seja exibindo os dados ou salvando-os em um banco de dados.

QUER APRENDER PHP ORIENTADO A OBJETOS OU APERFEIÇOAR O QUE JÁ SABE?

Então conheça o curso online que já ajudou milhares de pessoas a aprender a programar e desenvolver seus próprios projetos do ZERO e usando orientação a objetos de uma forma fácil de entender.

CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:

CLIQUE AQUI E SAIBA MAIS

Dúvidas ou sugestões sobre como enviar valores de campos de formulários via POST no PHP? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags:

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *