Leçon 10 : Passer des variables dans une adresse URL

Lorsqu'on travaille avec PHP, on a souvent besoin de passer des variables d'une page à une autre. Cette leçon traite du passage de variables dans une adresse URL.

Comment ça marche ?

Vous vous êtes sans doute demandé pourquoi certaines adresses URL ressemblaient à ceci :


	http://html.net/page.php?id=1254

	

Pourquoi y a-t-il un point d'interrogation après le nom de la page ?

La réponse est que les caractères après le point d'interrogation forment une chaîne de requête HTTP. Une chaîne de requête HTTP peut contenir à la fois des variables et leurs valeurs. Dans l'exemple ci-dessus, la chaîne de requête contient la variable "id" avec la valeur "1254".

Voici un autre exemple :


	http://html.net/page.php?name=Joe

	

Nous avons encore une variable ("name") avec une valeur ("Joe").

Comment récupérer la variable avec PHP ?

Disons que l'on ait une page PHP nommée people.php. On peut appeler cette page avec l'adresse URL suivante :


	people.php?name=Joe

	

Avec PHP, on pourra obtenir la valeur de la variable 'name' de cette façon :


	$_GET["name"]

	

Donc vous employez documentation$_GET pour trouver la valeur d'une variable nommée. Essayons dans un exemple :


	<html>
	<head>
	<title>Query string</title>
	</head>
	<body>

	<?php

	' The value of the variable name is found
	echo "<h1>Hello " . $_GET["name"] . "</h1>";

	?>

	</body>
	</html>

	

Dans l'exemple ci-dessus, essayez de remplacer le nom "Joe" par votre propre nom dans l'URL puis appelez à nouveau le document. C'est chouette, non ?

Plusieurs variables dans la même adresse URL

On n'est pas limité à une seule variable par URL. On peut en passer plusieurs en séparant les variables par un caractère & :


	people.php?name=Joe&age=24

	

Cette adresse URL contient deux variables : "name" et "age". On récupérera les variables de la même façon que précédemment :


	$ _GET["name"]
	$ _GET["age"]

	

Rajoutons cette nouvelle variable dans notre exemple :


	<html>
	<head>
	<title>Query string </title>
	</head>
	<body>

	<?php

	// The value of the variable name is found
	echo "<h1>Hello " . $ _GET["name"] . "</h1>";

	// The value of the variable age is found
	echo "<h1>You are . " $ _GET["age"] . " years old </h1>";

	?>

	</body>
	</html>

	

Vous connaissez maintenant un moyen de passer des valeurs entre des pages en utilisant une adresse URL. Dans la leçon suivante, nous verrons une autre méthode : les formulaires.



<< Leçon 9 : Les fonctions

Leçon 11 : Passer des variables dans des formulaire >>