Linguagem de ProgramaçãoPHPProgramaçãoTutoriais

PHP – Métodos GET e POST

Existem duas maneiras pelas quais o cliente do navegador pode enviar informações ao servidor da web.

  • O Método GET
  • O Método POST

Antes de o navegador enviar as informações, ele as codifica usando um esquema chamado codificação de URL. Neste esquema, os pares nome/valor são unidos com sinais de igual e diferentes pares são separados pelo “e” comercial.

nome1=valor1&nome2=valor2&nome3=valor3

Os espaços são removidos e substituídos pelo caractere + e quaisquer outros caracteres não alfanuméricos são substituídos por valores hexadecimais.  Depois que as informações são codificadas, elas são enviadas ao servidor.

O Método GET

O método GET envia as informações codificadas do usuário anexadas à solicitação de página. A página e as informações codificadas são separadas por personagem.

https://www.tecforest.com.br/teste.php?nome1=valor1&nome2=valor2
  • O método GET produz uma longa string que aparece nos logs do servidor, na caixa de url do navegador.
  • O método GET é restrito a enviar até 1024 caracteres apenas.
  • Nunca use o método GET se você tiver uma senha ou outras informações confidenciais a serem enviadas ao servidor.
  • GET não pode ser usado para enviar dados binários, como imagens ou documentos do Word, para o servidor.
  • Os dados enviados pelo método GET podem ser acessados ​​através da variável de ambiente QUERY_STRING.
  • O PHP fornece o array associativo $_GET para acessar todas as informações enviadas usando o método GET.

Experimente o exemplo a seguir, colocando o código-fonte no script teste.php.

<?php
if($_REQUEST["nome"] || $_REQUEST["idade"]) {
echo "Bem-vindo(a) ".$_REQUEST['nome']."<br />";
echo "Idade ".$_REQUEST['idade']." anos.";

exit();
}
?>

<html>
<body>

<form action="<?php $_PHP_SELF ?>" method="POST">
Nome: <input type="text" name="nome" />
Idade: <input type="text" name="idade" />
<input type="submit" />
</form>

</body>
</html>

Isso produzirá o seguinte resultado:

O Método POST

O método POST transfere informações por meio de cabeçalhos HTTP. As informações são codificadas conforme descrito no caso do método GET e colocadas em um cabeçalho chamado QUERY_STRING.

  • O método POST não possui nenhuma restrição quanto ao tamanho dos dados a serem enviados.
  • O método POST pode ser usado para enviar dados ASCII e binários.
  • Os dados enviados pelo método POST passam pelo cabeçalho HTTP, portanto a segurança depende do protocolo HTTP. Ao usar HTTP seguro, você pode ter certeza de que suas informações estão seguras.
  • O PHP fornece o array associativo $_POST para acessar todas as informações enviadas usando o método POST.

Experimente o exemplo a seguir, colocando o código-fonte no script test.php.

<?php
if($_POST["nome"] || $_POST["idade"]) {
if(preg_match("/[^A-Za-z'-]/", $_POST['nome'])) {
die ("invalid name and name should be alpha");
}
echo "Bem-vindo". $_POST['nome']. "<br />";
echo "Você tem ". $_POST['idade']. " anos.";

exit();
}
?>
<html>
<body>

<form action="<?php $_PHP_SELF ?>" method="POST">
Nome: <input type="text" name="nome" />
Idade: <input type="text" name="idade" />
<input type="submit" />
</form>

</body>
</html>

Isso produzirá o seguinte resultado:

A variável $_REQUEST

A variável PHP $_REQUEST contém o conteúdo da $_GET, $_POST e $_COOKIE. Discutiremos a variável $_COOKIE quando explicarmos sobre cookies.

A variável PHP $_REQUEST pode ser usada para obter o resultado dos dados do formulário enviados com os métodos GET e POST.

Experimente o exemplo a seguir, colocando o código-fonte no script test.php.

<?php
   if($_REQUEST["nome"] || $_REQUEST["idade"]) {
      echo "Bem-vindo(a) ".$_REQUEST['nome']."<br />";
      echo "Idade ".$_REQUEST['idade']." anos.";
exit(); } ?> <html> <body> <form action="<?php $_PHP_SELF ?>" method="POST"> Nome: <input type="text" name="nome" /> Idade: <input type="text" name="idade" /> <input type="submit" /> </form> </body> </html>

Aqui a variável $_PHP_SELF contém o nome do self script no qual está sendo chamada.

Isso produzirá o seguinte resultado:

Lucas Lemos Miranda

Criador do site TecForest, aprendi PHP aos 14 anos e desde então continuo estudando e procurando aprender mais sobre programação. Sou apaixonado por tecnologia e tenho como Hobby Blogs e Páginas. Me formei em Análise e Desenvolvimento de Sistemas em 2016, também sou Técnico em Informática e em Manutenção em Celulares.

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado.

Botão Voltar ao topo