Baixe o app para aproveitar ainda mais
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; ?>
Compartilhar