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!