quinta-feira, 28 de agosto de 2008

PHP: Recuperando informações de formulários utilizando $_POST



No post recuperando informações utilizando $_GET foi introduzido o conhecimento básico para a criação de um formulário, e como recuperar suas informações em PHP utilizando o método GET.

Como citado no mesmo post, os valores de cada campo do formulário será exibido na url do site após enviado, e esse comportamento pode não ser o desejado, uma vez que um formulário pode conter desde informações sigilosas, como uma senha, e outras informações de controle interno da aplicação que você não gostaria que o usuário soubesse.


Para esconder tais informações, utilizamos o método de envio POST, onde os campos não são inseridos na URL do site, e sim no corpo da requisição, sendo quase invisível ao usuário.


Montando o formulário


<html>
    <head>
        <title>Recuperando dados do formulário com PHP.</title>
    </head>
    <body>
        <h1>Formulário de Contato</h1>
        <form name="formulario" action="resgata.php" method="post">
            <label for="txtNome">Seu nome:</label>
            <input type="text" name="txtNome" id="txtNome" /> <br />
            <label for="txtEmail">Seu email:</label>
            <input type="text" name="txtEmail" id="txtEmail" /> <br />
            <label for="cboDepartamento">Departamento</label>
            <select name="cboDepartamento" id="cboDepartamento">
                <option value="1">Recursos Humanos</option>
                <option value="2">Contabilidade</option>
                <option value="3">Marketing</option>
            </select><br />
            <label for="txtAssunto">Assunto:</label>
            <input type="text" name="txtAssunto" id="txtAssunto" /> <br />
            <label for="txtMensagem">Mensagen:</label><br />
            <textarea name="txtMensagem" id="txtMensagem"></textarea>
            <input type="submit" name="cmdEnviar" id="cmdEnviar" value="Enviar"/>
        </form>
    </body>
</html>



Como pode ter notado, o formulário montado é semelhante ao do post anterior, com uma única diferença: em method, dentro da tag form, o valor foi alterado para post.

As recomendações e uso das demais tags continuam.


Recuperando as informações no PHP.


Para recuperar as informações do formulário acima, utilize:


<?php
    
echo 'Seu nome: ' $_POST['txtNome'] . '<br />';
    echo 
'Seu email: ' $_POST['txtEmail'] . '<br />';
    echo 
'Deparatamento: ';
    
    switch (
$_POST['cboDepartamento']) {
        case 
'1'
            echo 
'Recursos humanos';
            break;
        case 
'2':
            echo 
'Contabilidade';
            break;
        case 
'3':
            echo 
'Marketing';
            break;
    }
    
    echo 
'<br />';
    
    echo 
'Assunto: ' $_POST['txtAssunto'] . '<br />';
    echo 
'Mensagem: ' $_POST['txtMensagem'] . '<br />';
?>



Esse código PHP também é muito semelhante ao da página anterior, porém, no lugar de $_GET, utilizamos $_POST. O resultado exibido no browser também é o mesmo.

Nenhum comentário: