Envoyer des paramètres dans l'URL



En introduction, je vous disais que l'URL permettait de transmettre des informations. Comment est-ce que ça fonctionne exactement ?


Former une URL pour envoyer des paramètres



Imaginons que votre site s'appelle monsite.com et que vous avez une page PHP intitulée bonjour.php. Pour accéder à cette page, vous devez aller à l'URL suivante :

http://www.monsite.com/bonjour.php

Jusque-là, rien de bien nouveau. Ce que je vous propose d'apprendre à faire, c'est d'envoyer des informations à la page bonjour.php. Pour cela, on va ajouter des informations à la fin de l'URL, comme ceci :

http://www.monsite.com/bonjour.php?nom=Dupont&prenom=Jean

Ce que vous voyez après le point d'interrogation, ce sont des paramètres que l'on envoie à la page PHP. Celle-ci peut récupérer ces informations dans des variables. Voyez sur la figure suivante comment on peut découper cette URL.

Structure d'une URL



Le point d'interrogation sépare le nom de la page PHP des paramètres. Ensuite, ces derniers s'enchaînent selon la forme nom=valeur et sont séparés les uns des autres par le symbole &.

On peut écrire autant de paramètres que l'on veut ?



En théorie, oui. Il suffit de les séparer par des & comme je l'ai fait. On peut donc voir une URL de la forme :

page.php?param1=valeur1&param2=valeur2&param3=valeur3&param4=valeur4…

La seule limite est la longueur de l'URL. En général il n'est pas conseillé de dépasser les 256 caractères, mais les navigateurs arrivent parfois à gérer des URL plus longues. Quoi qu'il en soit, vous aurez compris qu'on ne peut pas non plus écrire un roman dans l'URL. 


Créer un lien avec des paramètres



Maintenant que nous savons cela, nous pouvons créer des liens en HTML qui transmettent des paramètres d'une page vers une autre.

Imaginons que vous avez deux fichiers sur votre site :

  • index.php (l'accueil) ;
  • bonjour.php.

Nous voulons faire un lien de index.php qui mène à bonjour.php et qui lui transmet des informations dans l'URL, comme le schématise la figure suivante.

Lien entre index.php et bonjour.php



Pour cela, ouvrez index.php (puisque c'est lui qui contiendra le lien) et insérez-y par exemple le code suivant :

Code : PHP 

1

<a href="bonjour.php?nom=Dupont&amp;prenom=Jean">Dis-moi bonjour !</a>


Comme vous le voyez, le & dans le code a été remplacé par &amp; dans le lien. Ça n'a rien à voir avec PHP : simplement, en HTML, on demande à ce que les & soient écrits &amp; dans le code source. Si vous ne le faites pas, le code ne passera pas la validation W3C.



Ce lien appelle la page bonjour.php et lui envoie deux paramètres :

  • nom : Dupont ;
  • prenom : Jean.

Vous avez sûrement deviné ce qu'on essaie de faire ici : on appelle une page bonjour.php qui va dire « Bonjour » à la personne dont le nom et le prénom ont été envoyés en paramètres.

Comment faire dans la page bonjour.php pour récupérer ces informations ? C'est ce que nous allons voir maintenant. ;-)

Créé avec HelpNDoc Personal Edition: Produire des livres Kindle gratuitement