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 Amélie 30 amélie.dubois@example.com 0032 008887 Belgique
Durand Amélie 32 amélie.durand@example.com 00352 840766 Luxembourg
Martin Amélie 45 amélie.martin@example.com 0033 842311 France
Dubois Camille 44 camille.dubois@example.com 0032 567572 Belgique
Durand Camille 18 camille.durand@example.com 0033 271029 France
Laurent Camille 22 camille.laurent@example.com 0032 252237 Belgique
Laurent Camille 23 camille.laurent@example.com 0033 419481 France
Richard Camille 25 camille.richard@example.com 00352 457815 Luxembourg
Robert Camille 29 camille.robert@example.com 0033 364792 France
Robert Camille 20 camille.robert@example.com 0033 024228 France
Simon Camille 18 camille.simon@example.com 0032 074661 Belgique
Martin Chloé 45 chloé.martin@example.com 0033 996306 France
Richard Chloé 18 chloé.richard@example.com 0032 550809 Belgique
Richard Chloé 21 chloé.richard@example.com 0032 502146 Belgique
Robert Chloé 38 chloé.robert@example.com 0032 882138 Belgique
Simon Emilie 34 emilie.simon@example.com 00352 946298 Luxembourg
Thomas Emilie 32 emilie.thomas@example.com 0033 415806 France
Martin Julie 20 julie.martin@example.com 0032 951334 Belgique
Moreau Julie 18 julie.moreau@example.com 00352 264307 Luxembourg
Petit Julie 33 julie.petit@example.com 00352 382241 Luxembourg
Petit Julie 38 julie.petit@example.com 0032 859723 Belgique
Simon Julie 45 julie.simon@example.com 0032 331682 Belgique
Martin Louise 20 louise.martin@example.com 0032 728805 Belgique
Robert Louise 40 louise.robert@example.com 0033 838332 France
Thomas Louise 26 louise.thomas@example.com 00352 754512 Luxembourg
Thomas Louise 26 louise.thomas@example.com 0032 647289 Belgique
Durand Léa 35 léa.durand@example.com 0032 956695 Belgique
Martin Léa 44 léa.martin@example.com 0032 429242 Belgique
Moreau Léa 42 léa.moreau@example.com 0032 769187 Belgique
Richard Léa 30 léa.richard@example.com 00352 548136 Luxembourg
Robert Léa 27 léa.robert@example.com 0033 592125 France
Robert Léa 34 léa.robert@example.com 0032 432234 Belgique
Thomas Léa 33 léa.thomas@example.com 0033 381105 France
Petit Mathilde 22 mathilde.petit@example.com 0033 222669 France
Petit Mathilde 31 mathilde.petit@example.com 0033 818425 France
Richard Mathilde 22 mathilde.richard@example.com 00352 564828 Luxembourg
Simon Mathilde 36 mathilde.simon@example.com 00352 228100 Luxembourg
Thomas Mathilde 28 mathilde.thomas@example.com 0033 672272 France
Laurent Pauline 33 pauline.laurent@example.com 00352 747338 Luxembourg
Petit Pauline 43 pauline.petit@example.com 0032 643771 Belgique
Richard Pauline 28 pauline.richard@example.com 0032 098287 Belgique
Robert Pauline 43 pauline.robert@example.com 0033 912640 France
Thomas Pauline 43 pauline.thomas@example.com 0033 618201 France
Dubois Victoire 36 victoire.dubois@example.com 0033 800872 France
Durand Victoire 35 victoire.durand@example.com 00352 018136 Luxembourg
Laurent Victoire 22 victoire.laurent@example.com 0032 936775 Belgique
Martin Victoire 34 victoire.martin@example.com 0032 438484 Belgique
Martin Victoire 20 victoire.martin@example.com 00352 165071 Luxembourg
Petit Victoire 24 victoire.petit@example.com 0033 104866 France
Thomas Victoire 39 victoire.thomas@example.com 0033 875164 France