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 documentação$_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.



<< Lição 9: Funções

Lição 11: Passando variáveis de um formulário >>