Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. PHP et JavaScript
  3. Transmettre des données entre les pages
Extrait - PHP et JavaScript Dynamisez vos sites et applications web (avec exercices et corrigés)
Extraits du livre
PHP et JavaScript Dynamisez vos sites et applications web (avec exercices et corrigés) Revenir à la page d'achat du livre

Transmettre des données entre les pages

Envoyer des paramètres via l’URL

Une URL (Uniform Resource Locator) constitue une adresse Internet, vous en manipulez tous les jours, par exemple http://www.google.fr est une URL.

Sachez qu’il est possible de transmettre des informations dans les URL, on parle souvent de paramètres de l’URL qui sont repérables par les symboles suivants :

  • ? : ce symbole précède le premier paramètre.

  • & : ce symbole précède un paramètre suivant (à partir du 2e).

  • = : précède la valeur stockée dans le paramètre nommé avant ce symbole.

Voici un exemple d’URL :

https://www.monsite.fr/ch10ex01.php?login=Michel&pays=France

Cette URL montre qu’il y a deux paramètres (après le point d’interrogation (?)) :

  • login=Michel

  • pays=France

Cela signifie que votre script PHP (ch10ex01.php) va pouvoir récupérer le contenu de ces deux paramètres. Oui, mais comment me direz-vous ? C’est ce que l’on va voir dans les paragraphes suivants.

Il faut néanmoins préciser que l’on peut saisir autant de paramètres que l’on veut, mais il est fortement conseillé de ne pas dépasser 256 caractères dans l’URL, même si l’on peut théoriquement aller jusqu’à 2 048 caractères.

On a vu, au chapitre précédent...

Testez l’existence et le type de vos paramètres

Ne négligez jamais de tester l’existence d’un paramètre à l’aide de la fonction isset() que l’on a vue dans les pages précédentes. Un paramètre manquant peut provoquer un dysfonctionnement de votre site web.

D’autre part, vérifiez bien le type de donnée que vous récupérez à l’aide du tableau associatif $_GET. Par exemple, si vous devez récupérer la valeur du paramètre ’age’ dans l’URL, vérifiez bien qu’il s’agit d’une valeur numérique entière. Il ne faut pas oublier qu’une URL est modifiable par l’utilisateur, rien ne l’empêche de saisir de mauvaises informations et donc votre page web peut avoir un comportement inattendu.

Par exemple, imaginez l’URL suivante :  http://www.monsite.fr/index.php?nom=Michel&age=6546498653156

et que vous utilisiez $_GET pour récupérer les deux paramètres, l’affichage des informations sera incohérent si on ne teste pas préalablement la valeur de ’age’.


<?php 
  if (isset($_GET[nom])) 
        $nom=$_GET['nom']; 
   
  if (isset($_GET['age'])) 
        $age=(int) $_GET['age']; 
  else $age=-1; ...

$_POST

Il existe une autre méthode pour transmettre des données d’une page à une autre, il s’agit de la méthode POST, que vous verrez dans le chapitre suivant. Elle est similaire à la méthode GET décrite ci-dessus, sauf que les données transmises ne sont pas présentent dans l’URL, elles sont "invisibles" et sont accessibles via le tableau associatif $_POST.