Lição 10: Passando variáveis no URL
Quando se trabalha com PHP é comum a necessidade de se passar variáveis de uma página para outra. Nesta lição veremos como passar variáveis em um URL.
Como isto funciona?
Talvez você já tenha visto e ficado intrigado com URLs no formato parecido com o mostrado a seguir:
http://html.net/page.php?id=1254
O que significa aquele sinal de interrogação depois do nome da página?
A resposta é: os caracteres depois do sinal de interrogação são uma HTTP query string. Uma HTTP query string contém variáveis e seus valores. No exemplo mostrado a HTTP query string contém uma variável chamada "id", e seu respectivo valor igual a "1254".
Observe outro exemplo:
http://html.net/page.php?name=Joe
Aqui você tem uma variável ("name") com o valor ("Joe").
Como recuperar o valor de uma variável com PHP?
Suponha uma página PHP chamada people.php. Suponha, também, que você "chame" esta página usando o seguinte URL:
people.php?name=Joe
A sintaxe PHP para recuperar o valor da variável 'name' passada no URL é mostrada a seguir:
$_GET["name"]
Use $_GET para recuperar o valor de uma variável. Vejamos outro exemplo:
<html> <head> <title>Query string</title> </head> <body> <?php // Extrai o valor da variável name echo "<h1>Olá " . $_GET["name"] . "</h1>"; ?> </body> </html>
Ao abrir a página que demonstra este exemplo faça a seguinte experiência: substitua na barra de endereços do navegador o nome "Joe" pelo seu nome e recarregue a página! Legal, não é?
Várias variáveis no mesmo URL
Você não está limitado a passar uma só variável no URL. Para passar mais de uma variável use o sinal & ( e comercial) para separar as variáveis, como mostrado a seguir:
people.php?name=Joe&age=24
Este URL contém duas variáveis: name (nome) e age (idade). Tal como foi explicado anteriomente para recuperar as duas variáveis a sintaxe é mostrada a seguir:
$ _GET["name"] $ _GET["age"]
Vamos usar mais uma variável no nosso exemplo:
<html> <head> <title>Query string </title> </head> <body> <?php // Extrai o valor da variável name echo "<h1>Olá " . $ _GET["name"] . "</h1>"; // Extrai o valor da variável age echo "<h1>Você tem ". $ _GET["age"] . " anos de idade</h1>"; ?> </body> </html>
Bem, agora você já sabe como passar variáveis em um URL. Na próxima lição veremos mais um método de passagem de variáveis: o método usando formulários.