La variable superglobale $_GET

La variable superglobale $_GET est souvent utilisée pour récupérer les paramètres passés dans une URL.
Les paramètres sont passés à la page en utilisant la méthode GET du protocole HTTP.
Les données récupérées via cette méthode sont généralement utilisées pour fournir des informations non sensibles à une page web, par exemple pour récupérer l'ordre de tri, les filtres ou les paramètres de pagination d'un tableau.

Exemple d'utilisation :

  • Dans l'URL "example.com/page.php?nom=John&age=25", les paramètres passés sont "nom" et "age" avec les valeurs respectives "John" et "25".
  • On peut récupérer ces valeurs en utilisant $_GET['nom'] et $_GET['age'] dans le script PHP.

Avertissement sur la sécurité :
Les données passées dans les paramètres GET peuvent être vues et modifiées par l'utilisateur, il est donc important de ne pas inclure d'informations sensibles dans ces paramètres.
En savoir plus sur les injections SQL ou les attaques XSS.


Le tableau ci-dessous est un exemple concret d'utilisation de $_GET pour gérer l'affichage d'une liste d'élèves.

N'hésitez pas à regarder le code/les commentaires de cette page afin d'en comprendre le fonctionnement.

  • Au premier affichage, on génère 50 élèves qui sont stockés dans une variable de session.
  • Au premier affichage, on ordonne par défaut sur la colonne 'Nom' dans la direction 'desc'
  • On utilise une boucle sur une variable $columns pour afficher chaque élément du header du tableau
Nom Prénom Age Email Téléphone Pays
Dubois Mathilde 19 mathilde.dubois@example.com 0033 832552 France
Dubois Camille 30 camille.dubois@example.com 00352 241872 Luxembourg
Dubois Julie 31 julie.dubois@example.com 0033 225306 France
Dubois Pauline 43 pauline.dubois@example.com 00352 956689 Luxembourg
Dubois Emilie 33 emilie.dubois@example.com 0032 561709 Belgique
Dubois Chloé 42 chloé.dubois@example.com 0033 499932 France
Durand Chloé 22 chloé.durand@example.com 0032 825022 Belgique
Durand Emilie 45 emilie.durand@example.com 0033 990182 France
Laurent Julie 27 julie.laurent@example.com 0033 007161 France
Laurent Emilie 35 emilie.laurent@example.com 0032 416803 Belgique
Laurent Julie 27 julie.laurent@example.com 0033 623248 France
Laurent Victoire 30 victoire.laurent@example.com 0032 789386 Belgique
Laurent Louise 27 louise.laurent@example.com 0032 853597 Belgique
Laurent Léa 32 léa.laurent@example.com 0033 478219 France
Laurent Julie 20 julie.laurent@example.com 0033 195827 France
Laurent Pauline 18 pauline.laurent@example.com 0032 069658 Belgique
Laurent Pauline 42 pauline.laurent@example.com 0032 207166 Belgique
Martin Amélie 35 amélie.martin@example.com 00352 021919 Luxembourg
Martin Camille 23 camille.martin@example.com 0032 628117 Belgique
Martin Camille 27 camille.martin@example.com 00352 042636 Luxembourg
Martin Louise 33 louise.martin@example.com 00352 414817 Luxembourg
Martin Emilie 35 emilie.martin@example.com 0032 531596 Belgique
Martin Léa 21 léa.martin@example.com 00352 165437 Luxembourg
Martin Amélie 20 amélie.martin@example.com 0032 828175 Belgique
Martin Pauline 35 pauline.martin@example.com 00352 410900 Luxembourg
Moreau Camille 20 camille.moreau@example.com 0032 617100 Belgique
Moreau Chloé 34 chloé.moreau@example.com 0032 839664 Belgique
Moreau Julie 23 julie.moreau@example.com 0033 065658 France
Moreau Julie 23 julie.moreau@example.com 0032 634562 Belgique
Moreau Victoire 29 victoire.moreau@example.com 00352 094573 Luxembourg
Petit Julie 42 julie.petit@example.com 0032 271641 Belgique
Petit Emilie 31 emilie.petit@example.com 00352 659290 Luxembourg
Petit Victoire 20 victoire.petit@example.com 0033 862009 France
Petit Pauline 44 pauline.petit@example.com 0033 451996 France
Richard Amélie 33 amélie.richard@example.com 0032 062436 Belgique
Richard Chloé 42 chloé.richard@example.com 00352 429463 Luxembourg
Robert Victoire 30 victoire.robert@example.com 0032 377334 Belgique
Robert Mathilde 38 mathilde.robert@example.com 0032 556952 Belgique
Robert Louise 44 louise.robert@example.com 0032 559191 Belgique
Robert Victoire 23 victoire.robert@example.com 00352 802206 Luxembourg
Simon Camille 28 camille.simon@example.com 0033 491089 France
Simon Julie 37 julie.simon@example.com 0033 195880 France
Simon Mathilde 41 mathilde.simon@example.com 00352 315370 Luxembourg
Simon Amélie 19 amélie.simon@example.com 00352 838234 Luxembourg
Simon Chloé 25 chloé.simon@example.com 0032 408339 Belgique
Simon Julie 33 julie.simon@example.com 0033 987484 France
Thomas Mathilde 18 mathilde.thomas@example.com 0032 522762 Belgique
Thomas Amélie 32 amélie.thomas@example.com 00352 066104 Luxembourg
Thomas Victoire 45 victoire.thomas@example.com 00352 009524 Luxembourg
Thomas Mathilde 39 mathilde.thomas@example.com 00352 000613 Luxembourg