Précédent Suivant

Les Formulaires

Urlencode() et Urldecode()

 

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.

 

Bienvenue au cours d'initiation PHP

Merci de remplir ce formulaire
Nom : 
Prénom : 

 

Précédent Suivant