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
Richard Victoire 21 victoire.richard@example.com 0033 921575 France
Richard Victoire 45 victoire.richard@example.com 00352 662357 Luxembourg
Moreau Victoire 43 victoire.moreau@example.com 0033 314677 France
Thomas Victoire 31 victoire.thomas@example.com 0032 639672 Belgique
Durand Victoire 30 victoire.durand@example.com 0032 624206 Belgique
Robert Pauline 37 pauline.robert@example.com 00352 438476 Luxembourg
Thomas Pauline 45 pauline.thomas@example.com 0032 436152 Belgique
Robert Pauline 45 pauline.robert@example.com 0032 401544 Belgique
Thomas Pauline 43 pauline.thomas@example.com 00352 928737 Luxembourg
Martin Mathilde 21 mathilde.martin@example.com 0032 152433 Belgique
Robert Mathilde 24 mathilde.robert@example.com 00352 344482 Luxembourg
Petit Mathilde 26 mathilde.petit@example.com 0033 102271 France
Thomas Mathilde 35 mathilde.thomas@example.com 00352 520065 Luxembourg
Martin Léa 36 léa.martin@example.com 0033 492450 France
Dubois Léa 41 léa.dubois@example.com 0032 348760 Belgique
Moreau Léa 18 léa.moreau@example.com 0032 543964 Belgique
Durand Louise 37 louise.durand@example.com 00352 047281 Luxembourg
Richard Louise 21 louise.richard@example.com 0033 511493 France
Robert Louise 35 louise.robert@example.com 00352 965023 Luxembourg
Richard Louise 18 louise.richard@example.com 00352 732022 Luxembourg
Thomas Julie 33 julie.thomas@example.com 0033 160524 France
Robert Julie 39 julie.robert@example.com 0032 802133 Belgique
Simon Julie 23 julie.simon@example.com 0033 465114 France
Martin Julie 45 julie.martin@example.com 0033 111675 France
Durand Julie 45 julie.durand@example.com 0033 568060 France
Thomas Julie 21 julie.thomas@example.com 0032 700452 Belgique
Petit Julie 38 julie.petit@example.com 0033 756529 France
Moreau Julie 23 julie.moreau@example.com 0033 975802 France
Robert Emilie 24 emilie.robert@example.com 00352 386481 Luxembourg
Simon Emilie 23 emilie.simon@example.com 00352 803732 Luxembourg
Moreau Emilie 22 emilie.moreau@example.com 00352 864254 Luxembourg
Thomas Emilie 26 emilie.thomas@example.com 00352 165531 Luxembourg
Simon Emilie 44 emilie.simon@example.com 00352 008944 Luxembourg
Robert Emilie 27 emilie.robert@example.com 0032 690522 Belgique
Robert Emilie 36 emilie.robert@example.com 0033 142567 France
Richard Emilie 26 emilie.richard@example.com 0032 695750 Belgique
Martin Chloé 26 chloé.martin@example.com 00352 019074 Luxembourg
Richard Chloé 23 chloé.richard@example.com 0032 840557 Belgique
Moreau Chloé 32 chloé.moreau@example.com 0032 196094 Belgique
Simon Chloé 31 chloé.simon@example.com 00352 254041 Luxembourg
Petit Camille 25 camille.petit@example.com 0033 520500 France
Laurent Camille 28 camille.laurent@example.com 0033 211147 France
Petit Camille 30 camille.petit@example.com 0033 356715 France
Petit Camille 26 camille.petit@example.com 0032 679881 Belgique
Laurent Camille 35 camille.laurent@example.com 0033 166867 France
Moreau Amélie 31 amélie.moreau@example.com 0032 663509 Belgique
Martin Amélie 29 amélie.martin@example.com 0033 913355 France
Thomas Amélie 39 amélie.thomas@example.com 00352 996900 Luxembourg
Dubois Amélie 31 amélie.dubois@example.com 00352 879793 Luxembourg
Martin Amélie 25 amélie.martin@example.com 00352 296336 Luxembourg