Método $_GET[] & $_POST[] no PHP
1)Método $_GET
O método GET é usado quando queremos pesquisar ou passar dados para uma outra página usando a URL da página.
Vejamos um exemplo:
http://www.site.com/pesquisa.php?id=543
Tudo que é inserido depois do “?” é considerado “Query String” e pode ser acedido na página actual usando a combinação nome=valor, onde nome é o “id” e valor é “543”.
Esta forma de passar informações de uma página para outra é a preferida em sites de pesquisa. Se for necessário passar mais de um par nome=valor, é utilizado o simbolo “&” que é usado na separação.
Vejamos:
http://www…com/pesquisa.php?id=543&tipo=3
2)Método $_POST
O método POST é usado quando queremos enviar dados para serem gravados numa base de dados ou uma pesquisa cujos dados sejam grandes o suficiente para não caber na URL da página.
Vejamos então um formulário HTML que usa o método POST para enviar dados a uma página:
<form name=”teste” method=”post”
action=”pesquisar.php”>
<input type=”text” name=”produto”>
</form>
Aqui a página pesquisar.php receberá um par composto pelo nome do campo “produto” e o valor definido pelo utilizador.
Quando for usado o método POST tenha a certeza de definir nomes para os campos do formulário (propriedade name). Tais nomes não devem conter espaços ou caracteres especiais.
Ok, tento isto em mente, já sabemos em quê que estes dois métodos se distinguem, mas como aplica-los na prática?
É o que vamos ver a seguir.
—————————————————————–
O método $_POST é mais seguro do que o $_GET, visto que este expõe de certa maneira a informação visível, enquanto que o $_POST guarda a informação de uma forma oculta.
Deixo então para download 1 ficheiro que contém o nosso material de trabalho. Vou passar a explicar pormenorizadamente todo o conteúdo.
Muito bem, depois de descompactar e “colar” a pasta na directoria “www” ou “htpdocs” do servidor Web (aqui no blog) temos 2 pastas, uma com o nome GETe outra POST.
a) Método $_GET[] na prática
Após a abertura da pasta temos 3 ficheiros:
mesma_pagina.php
2paginas.php
obter.php
Os que nos interessam são “mesma_pagina.php” e “2paginas.php”, são os ficheiros no qual vamos trabalhar, o outro é somente a listagem dos dados através do action do formulário.
Ok, abrindo o documento “mesma_pagina.php” analisamos o seguinte código:
Podemos observar que o action do formulário diz respeito há mesma página, então vamos ver que ao inserir os dados nas textbox e em seguida clicarmos no botão, o browser irá fazer refresh à página e chamar os dados referentes ao nome e idade da url do browser.
Inserção de dados.
O nome e idade são exibidos, visto que foram captados da url, como pode ser observador eles constam lá, daí este ser um procedimento muito inseguro, visto que a informação está exposta.
O código para a captação foi o seguinte:
Vamos também observar como poderia ser feito com duas páginas, ou seja, numa primeira (2paginas.php) introduzir os dados, chamar outra em seguida, e sim nessa 2º fazer a listagem dos dados.
Ok, temos então o ficheiro “2paginas.php” que diz respeito ao formulário com o action=obter.php, isto quer dizer que quando o botão enviar for accionado irá chamar a página “obter.php” e lá sim serão listados os dados introduzidos.
Agora, ao clicar em enviar vamos ser redireccionados para a página “obter.php” e lá temos o código de captação dos valores.
Basicamente estamos a fazer o mesmo que fizemos no ficheiro
“mesma_pagina.php”, só que este é em outra página.
Agora a partir daqui poderíamos brincar com os dados, e até porque não inseri-los em uma base de dados.
Algo que vamos ver mais à frente.
b) Método $_POST[] na prática
Após a abertura da pasta temos 3 ficheiros:
>mesma_pagina.php
2paginas.php>
obter.php
Os que nos interessam são “mesma_pagina.php” e “2paginas.php”, são os ficheiros no qual vamos trabalhar, o outro é somente a listagem dos dados através do action do formulário.
Ok, abrindo o documento “mesma_pagina.php” analisamos o seguinte código:
O que tem de diferente do anterior é somente o method=POST, aqui os dados são ocultados, e propriamente mais seguros que o método anterior.
Para obter os dados “ocultados” neste método temos de utilizar um código muito semelhante ao $_GET.
Sim,foi só alterar $_GET por $_POST, simples não?
Notar que, após a introdução dos dados nas textbox, e ao clicarmos em “enviar” nenhum valor é inserido na url, daí também a maior segurança.
E como é feita com duas páginas, na primeira (2paginas.php) para inserção de dados, fazer o submit para outra página, e lá a captação dos dados.
É muito simples, para não dizer igual ao $_GET.
Vamos então dar uma espreitadela.
Depois de inserir os dados nas textsbox do ficheiro “2paginas.php” e clicarmos em “enviar” (verificar que o action=obter.php”) iremos ser redireccionados para a página obter.php.
Nesta, vamos agora observar como capturar os dados:
Upa, eu não queria dizer que os códigos eram iguais, mas só muda mesmo o nome do método.
Como podemos ver não é coisa nada complicada, e facilita muito a vida na troca de informação entre páginas, são os métodos mais usados em Web.
Num próximo artigo veremos como interagir com uma base de dados, até lá, bom estudo.
> download <