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 Chloé 36 chloé.dubois@example.com 00352 613601 Luxembourg
Dubois Chloé 41 chloé.dubois@example.com 00352 939693 Luxembourg
Durand Chloé 31 chloé.durand@example.com 00352 155978 Luxembourg
Durand Pauline 32 pauline.durand@example.com 0032 162951 Belgique
Laurent Chloé 41 chloé.laurent@example.com 00352 146858 Luxembourg
Laurent Léa 27 léa.laurent@example.com 00352 395073 Luxembourg
Martin Mathilde 44 mathilde.martin@example.com 00352 918960 Luxembourg
Martin Julie 42 julie.martin@example.com 0033 752546 France
Martin Victoire 19 victoire.martin@example.com 00352 050023 Luxembourg
Martin Amélie 28 amélie.martin@example.com 0032 509191 Belgique
Moreau Victoire 25 victoire.moreau@example.com 0032 175649 Belgique
Moreau Léa 18 léa.moreau@example.com 00352 303623 Luxembourg
Moreau Léa 44 léa.moreau@example.com 0032 749557 Belgique
Moreau Mathilde 32 mathilde.moreau@example.com 0033 687300 France
Petit Amélie 31 amélie.petit@example.com 00352 768798 Luxembourg
Petit Léa 26 léa.petit@example.com 0032 128670 Belgique
Petit Chloé 22 chloé.petit@example.com 0033 350622 France
Petit Emilie 36 emilie.petit@example.com 0032 170295 Belgique
Petit Camille 31 camille.petit@example.com 00352 404418 Luxembourg
Petit Julie 28 julie.petit@example.com 0033 674820 France
Petit Louise 22 louise.petit@example.com 0033 174922 France
Richard Emilie 25 emilie.richard@example.com 0033 352121 France
Richard Chloé 34 chloé.richard@example.com 0033 455765 France
Richard Louise 28 louise.richard@example.com 00352 033111 Luxembourg
Richard Julie 31 julie.richard@example.com 0032 106166 Belgique
Richard Camille 32 camille.richard@example.com 00352 815402 Luxembourg
Robert Chloé 19 chloé.robert@example.com 0033 455277 France
Robert Victoire 22 victoire.robert@example.com 0032 865866 Belgique
Robert Amélie 36 amélie.robert@example.com 0032 528891 Belgique
Robert Mathilde 34 mathilde.robert@example.com 0033 677008 France
Robert Julie 43 julie.robert@example.com 00352 771485 Luxembourg
Robert Mathilde 27 mathilde.robert@example.com 0033 966251 France
Robert Chloé 31 chloé.robert@example.com 0033 882629 France
Robert Victoire 25 victoire.robert@example.com 0032 388135 Belgique
Simon Camille 21 camille.simon@example.com 0032 136277 Belgique
Simon Julie 27 julie.simon@example.com 0033 495183 France
Simon Victoire 41 victoire.simon@example.com 0033 957277 France
Simon Emilie 37 emilie.simon@example.com 00352 953946 Luxembourg
Simon Pauline 32 pauline.simon@example.com 0033 274709 France
Simon Julie 36 julie.simon@example.com 0032 300178 Belgique
Thomas Louise 30 louise.thomas@example.com 00352 006182 Luxembourg
Thomas Pauline 42 pauline.thomas@example.com 0033 194723 France
Thomas Chloé 35 chloé.thomas@example.com 0032 948637 Belgique
Thomas Amélie 29 amélie.thomas@example.com 0032 243266 Belgique
Thomas Louise 43 louise.thomas@example.com 00352 785507 Luxembourg
Thomas Victoire 28 victoire.thomas@example.com 00352 665335 Luxembourg
Thomas Pauline 33 pauline.thomas@example.com 0033 841287 France
Thomas Chloé 39 chloé.thomas@example.com 0032 219747 Belgique
Thomas Chloé 43 chloé.thomas@example.com 0032 063508 Belgique
Thomas Chloé 32 chloé.thomas@example.com 0033 829003 France