| Précédent | Suivant |
Lorsqu’on appelle une page avec la méthode GET, une chaîne de caractères est aboutée à l’URL, contenant la suite de couples noms/valeurs des éléments du formulaire séparés par des caractères &. Cette suite est codée de façon que n’y figure aucun espace (il y sont remplacés par des « + »).
En outre, les caractères de ponctuation et les diacritiques sont remplacés par leur code ASCII.
Exemple :
<?php
prenom=Arthur-Jérémie
cours[]=Anglais
sera transmis dans l'URL comme ceci :
prenom=Arthur-J%E9r£E9émie&cours%5B%5D=Anglais
?>
Grâce aux fonctions urldecode et urlencode on peut ainsi transformé la chaîne de l’url afin qu’elle devienne lisible.
urldecode() décode toutes les séquences %## et les remplace par leur valeur. La chaîne ainsi décodée est retournée.
urlencode() retourne une chaîne dont les caractères non alpha-numériques (hormis -_.) sont remplacés par des séquences commençant par un caractère pourcentage (%), suivi de deux chiffres hexadécimaux. Les espaces sont remplacés par des signes plus (+). Ce codage est celui qui est utilisé pour poster des informations dans les formulaires HTML.
Exemple :
On commence par récupérer la chaîne de l’URL qui se trouve dans la variable
global $_SERVER["QUERY_STRING"],
et on lui applique la fonction split qui va récupérer les occurrence de chaînes
séparées par des & dans un tableau, puis on va isoler le nom de la valeur
de façon classique à l’aide de la boucle while.
Exemple :
<?php
$a = split('&', $_SERVER["QUERY_STRING"]);
$I = 0;
while ($I < count ($a)) {
$b = spilt('=', $a [$i]);
echo 'La valeur du
paramètre ', htmlspecialchars(urldecode($b [0])),' est ',
htmlspecialchars(urldecode($b[1])), "<br>";
$i++;
}
?>
Exercice : (Voir annexe Les Formulaires Exercice 2).
Créer le formulaire de cet exemple, et à l’aide de la fonction urldecode().
Afficher dans une page PHP un message de bienvenue composé les éléments saisis.
| Précédent | Suivant |