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
Robert Mathilde 32 mathilde.robert@example.com 00352 936993 Luxembourg
Dubois Julie 28 julie.dubois@example.com 00352 914971 Luxembourg
Moreau Mathilde 18 mathilde.moreau@example.com 00352 895458 Luxembourg
Thomas Pauline 44 pauline.thomas@example.com 00352 798395 Luxembourg
Petit Pauline 29 pauline.petit@example.com 00352 775047 Luxembourg
Simon Chloé 22 chloé.simon@example.com 00352 648774 Luxembourg
Durand Emilie 18 emilie.durand@example.com 00352 604376 Luxembourg
Durand Amélie 24 amélie.durand@example.com 00352 562137 Luxembourg
Martin Amélie 36 amélie.martin@example.com 00352 426901 Luxembourg
Thomas Emilie 39 emilie.thomas@example.com 00352 343076 Luxembourg
Laurent Léa 31 léa.laurent@example.com 00352 251058 Luxembourg
Simon Amélie 42 amélie.simon@example.com 00352 145065 Luxembourg
Simon Chloé 20 chloé.simon@example.com 00352 088230 Luxembourg
Dubois Pauline 45 pauline.dubois@example.com 00352 014320 Luxembourg
Moreau Pauline 45 pauline.moreau@example.com 0033 975557 France
Martin Louise 41 louise.martin@example.com 0033 971957 France
Martin Pauline 37 pauline.martin@example.com 0033 960656 France
Thomas Emilie 41 emilie.thomas@example.com 0033 929935 France
Simon Chloé 45 chloé.simon@example.com 0033 907295 France
Laurent Victoire 21 victoire.laurent@example.com 0033 830052 France
Moreau Victoire 25 victoire.moreau@example.com 0033 794789 France
Laurent Camille 21 camille.laurent@example.com 0033 793761 France
Dubois Léa 19 léa.dubois@example.com 0033 779719 France
Thomas Mathilde 42 mathilde.thomas@example.com 0033 690008 France
Richard Julie 27 julie.richard@example.com 0033 621286 France
Robert Mathilde 44 mathilde.robert@example.com 0033 587668 France
Robert Victoire 29 victoire.robert@example.com 0033 479418 France
Durand Chloé 41 chloé.durand@example.com 0033 438907 France
Richard Julie 20 julie.richard@example.com 0033 359824 France
Durand Léa 43 léa.durand@example.com 0033 174325 France
Durand Léa 22 léa.durand@example.com 0033 137274 France
Petit Mathilde 29 mathilde.petit@example.com 0033 126523 France
Thomas Julie 20 julie.thomas@example.com 0032 972637 Belgique
Robert Camille 38 camille.robert@example.com 0032 819114 Belgique
Laurent Camille 37 camille.laurent@example.com 0032 680990 Belgique
Martin Chloé 27 chloé.martin@example.com 0032 659980 Belgique
Durand Victoire 34 victoire.durand@example.com 0032 627773 Belgique
Richard Pauline 34 pauline.richard@example.com 0032 623238 Belgique
Thomas Léa 27 léa.thomas@example.com 0032 540354 Belgique
Simon Emilie 44 emilie.simon@example.com 0032 499557 Belgique
Laurent Emilie 19 emilie.laurent@example.com 0032 464500 Belgique
Moreau Camille 27 camille.moreau@example.com 0032 417683 Belgique
Thomas Victoire 29 victoire.thomas@example.com 0032 306647 Belgique
Petit Emilie 44 emilie.petit@example.com 0032 294029 Belgique
Petit Julie 23 julie.petit@example.com 0032 274323 Belgique
Simon Victoire 36 victoire.simon@example.com 0032 238502 Belgique
Moreau Camille 25 camille.moreau@example.com 0032 234332 Belgique
Moreau Victoire 24 victoire.moreau@example.com 0032 107733 Belgique
Simon Emilie 38 emilie.simon@example.com 0032 002922 Belgique
Thomas Camille 28 camille.thomas@example.com 0032 002578 Belgique