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 $_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.
Aucun commentaire: