Buscar

GET e POST

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

GET e POST
Como Funciona o Método GET
O método GET utiliza a própria URI (normalmente chamada de URL) para enviar dados ao servidor, quando enviamos um formulário pelo método GET, o navegador pega as informações do formulário e coloca junto com a URI de onde o formulário vai ser enviado e envia, separando o endereço da URI dos dados do formulário por um “?” (ponto de interrogação).
Como Funciona o Método POST
O método POST envia os dados colocando-os no corpo da mensagem. Ele deixa a URI separada dos dados que serão enviados e com isso podemos enviar qualquer tipo de dados por esse método. Quando você faz um registro em um formulário e depois de enviar a URI não tem o ponto de interrogação separando os dados que você digitou, provavelmente o formulário foi enviado pelo método POST.
Seção 3 - 
Diferenças no Lado do Servidor entre GET e POST (PHP, CGI)
Enviar dados pelo método GET e POST é diferente, então, o servidor pega esses dados de diferentes maneiras.
No PHP, quando enviamos dados pelo método GET, ele cria um array identificado por $_GET, que contém todos os dados enviados por esse método. Quando enviamos os dados pelo método POST, o PHP cria um array identificado por $_POST, também com todos os dados enviados por esse método.
Obter Dados de Formulário
Dentre os aspectos mais importantes de linguagens de programação web dinâmicas como PHP, é a possibilidade de obter dados de formulários HTML.
Existem duas formas principais de obter dados de um formulário que irão depender da forma como o formulário é submetido.
Os valores dos formulários são armazenados e acessados por variáveis de coleção.
Obter Dados de Formulário
$_GET
Formulários enviados pelo método get, passam o valor de suas variáveis pela URL dinâmica ou parâmetros de URL.
Esses valores são acessados pela variável de coleção $_GET.
Os nomes das variáveis servem de chave para a coleção. 
Veja o exemplo abaixo:
Se, por exemplo, tivermos uma URL da seguinte maneira.
http://localhost/site/apresenta.php?f=15&t=5
Receber informações GET
<?php 
echo ("A 1a. variável vale " . $_GET['f']); 
echo(" e a 2a. vale " . $_GET['t']); 
?>
Dessa forma, podemos utilizar o nome das variáveis para acessar esses valores. Assim:
Dados de Formulário
$_POST
Formulários enviados pelo método post, passam suas variáveis codificadas dentro da própria submissão, ou seja, as variáveis não são visíveis ao usuário, apenas o servidor e o browser conhecem tais informações.
Envio 
<FORM NAME="form1" METHOD="post" ACTION=“apresenta.php">
Campo 1: <INPUT TYPE="text" NAME="campo1"> <BR> 
Campo 2: <TEXTAREA NAME="campo2"></TEXTAREA> <BR>
<INPUT TYPE="submit" VALUE="Enviar"> 
</FORM>
Receber informações POST
Podemos obter o valor das variáveis usando os nomes dos elementos do formulário como campos input, select e textarea. Portanto, se tivermos um formulário como no exemplo acima, usaríamos os nomes dos atributos NAME como chave de nossa coleção $_POST.
<?php
 echo("A 1a. variável é " . $_POST['campo1']); 
echo(" e a 2a. é " . $_POST['campo2']); 
?>
$_REQUEST
$_REQUEST é uma variável de coleção genérica, isso quer dizer que, não há diferença se o valor passado pelo formulário foi pelo método post ou pelo método get.
Isso acontece porque  $_REQUEST verifica todas as entradas de dados em uma ordem específica determinada pela variável variables_order no arquivo de configuração php.ini.
Geralmente, a busca pelo valor de uma chave é feita na seguinte ordem:
Variáveis de URL (get) - Variáveis de formulário (post) - Variáveis de Cookies - Variáveis de Sessão
Mas, como dito anteriormente, isso pode ser alterado.
Vale a pena ressaltar que uma chave sobrescreve a outra. 
$_REQUEST
<FORM NAME="form1" METHOD="post" ACTION="pagina.php?v=12345">
<INPUT TYPE="text" NAME="v" VALUE="TI Expert"> 
<INPUT TYPE="submit" VALUE="Enviar"> 
</FORM>
E usamos echo() para visualizar o valor da variável v.
<?php echo($_REQUEST['v']); ?>
Resultado
Envio 
Exercícios
<FORM NAME="form1" METHOD="post" ACTION=“apresenta.php">
VLR1: <INPUT TYPE="text" NAME=“vlr01"> <BR> 
VLR2: <INPUT TYPE="text" NAME=“vlr02"> <BR>
<INPUT TYPE="submit" VALUE="Enviar"> 
</FORM>
<?php
 $vlr1=$_POST[‘vlr01’];
 $vlr2=$_POST[‘vlr02’];
$total=$vlr1+$vlr2;
 echo $total * 2;
?>

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando