Entendendo a diferença entre os Métodos GET e POST no PHP

Propaganda
Entendendo a diferença entre
os Métodos GET e POST no PHP
É de extrema importância saber bem a diferença desses dois
métodos, para que se possa utilizá-los de forma correta e na
hora certa. De certa forma, os dois fazem o envio de dados
através do HTTP.
GET
Este método é utilizado quando queremos passar poucas/pequenas
informações para realizar uma pesquisa ou simplesmente passar
uma informação para outra página através da URL (barra de
endereços). O que não pode acontecer é as suas requisições
resultarem em mudanças no conteúdo da resposta. A função do
método GET é pura e simplesmente recuperar um recurso
existente no servidor. O resultado de uma requisição GET é
“cacheável” pelo cliente, ou seja, fica no histórico do
navegador.
Exemplo do GET
http://www.umsite.com.br/?cat=3&pag=2&tipo=5
Para que você possa entender melhor este exemplo, você só
precisa olhar para as informações que vem logo após a
interrogação “?”, pois é o símbolo que indica o início dos
dados passados através da URL, ou seja, pelo método GET. Se
você prestar atenção, notará que sempre vem um índice e um
valor logo após o sinal de igualdade (Ex.: cat=3) e quando
queremos incluir mais de uma informação, acrescentamos o
símbolo
“&”
para
concatenar
o
restante
(Ex.:
cat=3&pag=2&tipo=5).
Este método é bem restrito quanto ao tamanho e quantidade das
informações que são passadas pela URL. Você poderá enviar no
máximo 1024 caracteres, o que limita bastante suas
possibilidades com esse método. Caso você passe desse limite,
você corre o risco de obter um erro da sua página, já que as
informações foram passadas de forma incompleta.
Como você já percebeu, as informações enviadas ficam visíveis
ao visitante, o que é uma brecha na segurança, pois um
visitante malicioso pode colocar algum código de SQL Injection
e fazer um belo estrago com o seu site, ou até mesmo o
servidor. Então, quando queremos passar parâmetros
confidenciais, como exemplo as senhas, não devemos utilizar
esse método. Para isso temos o POST.
POST
Este método é mais seguro e tem uma capacidade de dados melhor
que o GET. 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.
Este método é feito através de formulários (Tag <form>), onde
passamos informações para uma outra página que irá recebê-las
e fazer o que o desenvolvedor quiser, como tratamento dos
dados, armazenamento no banco de dados, etc.
Por passar dados invisíveis ao usuário, ela se torna mais
segura e devemos utilizar este método quando criamos sistemas
de acesso restrito com “sessões” (login/senha).
Para enviarmos algumas informações de um formulário para uma
outra página, devemos incluir no atributo “method” o valor
“POST” e no atributo “action” o nome do arquivo que irá
receber as informações.
Exemplo do POST
<form
name="formContato"
action="enviar_email.php">
method="POST"
<p>
Nome: <input type="text" name="nome" /><br />
E-mail: <input type="text" name="email" /><br />
Mensagem:<br />
<textarea
name="mensagem"
id="mensagem"
cols="45"
rows="5"></textarea>
</p>
<p>
<input type="submit" name="button" id="button" value="Enviar
Mensagem" />
</p>
</form>
Bom, agora que temos uma visão mais geral dos dois métodos,
fica mais fácil para entendermos mais pra frente como
trabalhar com o envio dos dados através dos formulários e
também pelos links.
Espero que tenham aprendido um pouco mais. Abraços e até mais!
Download