quarta-feira, 24 de agosto de 2011

Como passar parametros através dos métodos GET E POST no PHP?

Quando desenvolvemos um site que deve trabalhar com informações, geralmente temos a necessidade de passar alguns valores de uma página para a outra, para podermos, então, realizar operações como consultas e inserções no banco de dados, autenticação de usuários, etc.
No PHP os dois métodos mais utilizados para isso são o GET e POST.

GET

É o método mais simples e mais limitado para se usar. Neste caso os valores e seus respectivos identificadores são transmitidos pela URL, não sendo preciso a abertura de uma nova conexão (explicaremos melhor isso quando falarmos do método POST). Quem nunca viu uma URL desse tipo:
A imagem acima exemplifica o uso da passagem de parâmetros via GET. A presença da interrogação indica o fim do endereço e o início da declaração dos nossos valores que serão passados. Neste caso, a página index1.php receberá uma variável chamada id com o valor 2, e outra variável acao com valor “01”.
Tome cuidado! Você não pode passar tudo que é informações usando o método GET (pela URL/LINK)
Duas explicações básicas:

  • 1-       Tamanho: Como os valores são passados pela URL, há um limite para o número de bytes que serão enviados. Você poderá enviar no máximo 1024 caracteres, o que limita bastante suas possibilidades com esse método.
  • 2-       Sobre segurança: Como nesse método os dados são visíveis ao usuário, não é bom (na verdade é horrível) que se passe informação confidenciais via GET. Imagine você, navegando em um site, e de repente você vê a sua senha passeando pela URL. E o pior, sendo salva no histórico do computador.
O correto é usar o método get somente para passar parâmetros usados em pesquisas e outras informações não tão privativas.
Para evitar estes problemas temos o método POST.

POST

O método POST representa uma alternativa ao método GET para as questões de capacidade e segurança. Nesse método uma conexão paralela é aberta e os dados são passados por ela. Não há restrição referente ao tamanho e os dados não são visíveis ao usuário. Há única condição é que se use um formulário para os dados. Na tag form , temos um atributo action. Nesse atributo é que setaremos a página que receberá nossas informações. Quando o botão submit for acionado todos os dados desse formulário serão passados para a página definida no action. É uma maneira segura e com mais capacidade em termos de espaço.

Como recuperar estes dados nas páginas destinatárias?

O PHP armazena as variáveis vindas por GET e por POST em vetores associativos (vetores cujos índices são strings).
Vejamos como faríamos isso com o exemplo do método GET acima.
Foram passadas duas variáveis : id e ação.


Exemplo:

PÁGINA CONTENDO O ENVIO DOS PARAMETROS (EM HTML):
<html>
<body>
<a href= "processa.php?id=01&acao=01">Clique aqui!</a>
</body>
</HTML>
PÁGINA ONDE SERÃO PEGAS E PROCESSADAS AS VARIÁVEIS CONTENDO O ID E A ACAO (EM PHP):
<?
$meu_id = $_GET['id'];
$acao = $_GET['acao'];
echo "O valor passado pelo método GET na variável ID é: $meuid";
echo "<br>O valor passado pelo método GET na variável ACAO é: $acao";
?>

No caso do método POST, temos um vetor chamado $_POST que armazenará os dados vindos do formulário. Vale lembrar que, nesse caso, os índices do vetor serão as nomes dados aos inputs no seu formulário.
Para acessar os valores vindos de um formulário como usuário e senha, por exemplo, usamos o comando de atribuição $_POST[‘nome_do_parametro’]
$usuario = $_POST['usuario'] e $senha = $_POST['senha'];

Abaixo um exemplo de envio de informações usando o método post (código em php/HTML):
PÁGINA DO FORM EM HTML:
<HTML>
<body>
<form action="processar.php" metod="POST">
Insira seu usuário<input type="text" name="login"/>
Insira sua senha<input type="password" name="senha"/>
<input type="submit" value="Efetuar login"/>
</form>
</body>
</HTML>
PÁGINA ONDE SERÃO PEGAS E PROCESSADAS AS VARIÁVEIS CONTENDO O LOGIN E A SENHA (EM PHP):
<?
$var_login=$_POST['login'];
$var_senha=$_POST['senha'];
echo "Olá, $var_login!<BR>Sua senha é: $var_senha";
?>

Espero ter ajudado aos programadores em PHP. Se você gostou ou tem alguma dica, comente!

1 comentários:

Jamir Luiz dos Santos disse...

Muito objetivo e claro!,
contribui muito para o momento do meu aprendizado.
Grato pela iniciativa.

Postar um comentário

Você pode manifestar sua opinião a respeito desta postagem criando um comentário.
Ele será avaliado pela equipe do site http://www.laudir.com.br. Após esta análise será postado (ou não).

Lembre-se de não publicar:
-Opiniões que firam a integridade de outrem
-Palavrões
-Endereços eletrônicos
-Propagandas de outros sites

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Design Blog, Make Online Money