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
Thomas Emilie 37 emilie.thomas@example.com 00352 925874 Luxembourg
Thomas Camille 29 camille.thomas@example.com 00352 864536 Luxembourg
Durand Louise 26 louise.durand@example.com 00352 853412 Luxembourg
Petit Victoire 41 victoire.petit@example.com 00352 818269 Luxembourg
Richard Louise 43 louise.richard@example.com 00352 759461 Luxembourg
Moreau Louise 34 louise.moreau@example.com 00352 731584 Luxembourg
Laurent Emilie 33 emilie.laurent@example.com 00352 663172 Luxembourg
Martin Emilie 45 emilie.martin@example.com 00352 621736 Luxembourg
Robert Chloé 35 chloé.robert@example.com 00352 618787 Luxembourg
Martin Pauline 24 pauline.martin@example.com 00352 582700 Luxembourg
Dubois Victoire 35 victoire.dubois@example.com 00352 575608 Luxembourg
Petit Victoire 30 victoire.petit@example.com 00352 530598 Luxembourg
Petit Victoire 36 victoire.petit@example.com 00352 422150 Luxembourg
Richard Léa 24 léa.richard@example.com 00352 265347 Luxembourg
Robert Chloé 45 chloé.robert@example.com 00352 256101 Luxembourg
Dubois Mathilde 27 mathilde.dubois@example.com 00352 214203 Luxembourg
Simon Pauline 22 pauline.simon@example.com 00352 190273 Luxembourg
Moreau Chloé 35 chloé.moreau@example.com 00352 181402 Luxembourg
Richard Chloé 22 chloé.richard@example.com 00352 136154 Luxembourg
Thomas Camille 20 camille.thomas@example.com 00352 036580 Luxembourg
Robert Julie 30 julie.robert@example.com 0033 929260 France
Dubois Léa 20 léa.dubois@example.com 0033 869269 France
Thomas Louise 26 louise.thomas@example.com 0033 843326 France
Laurent Victoire 19 victoire.laurent@example.com 0033 702016 France
Dubois Camille 27 camille.dubois@example.com 0033 647746 France
Richard Pauline 33 pauline.richard@example.com 0033 592182 France
Dubois Chloé 45 chloé.dubois@example.com 0033 571886 France
Laurent Léa 40 léa.laurent@example.com 0033 557841 France
Simon Camille 22 camille.simon@example.com 0033 458969 France
Durand Victoire 19 victoire.durand@example.com 0033 449545 France
Moreau Léa 37 léa.moreau@example.com 0033 401338 France
Dubois Pauline 40 pauline.dubois@example.com 0033 361838 France
Moreau Chloé 19 chloé.moreau@example.com 0033 319876 France
Simon Emilie 36 emilie.simon@example.com 0033 181044 France
Robert Louise 43 louise.robert@example.com 0033 136095 France
Thomas Victoire 37 victoire.thomas@example.com 0032 988960 Belgique
Durand Chloé 20 chloé.durand@example.com 0032 908859 Belgique
Simon Victoire 30 victoire.simon@example.com 0032 894770 Belgique
Dubois Mathilde 27 mathilde.dubois@example.com 0032 840464 Belgique
Robert Emilie 21 emilie.robert@example.com 0032 794859 Belgique
Laurent Victoire 25 victoire.laurent@example.com 0032 760299 Belgique
Robert Louise 30 louise.robert@example.com 0032 715137 Belgique
Moreau Pauline 38 pauline.moreau@example.com 0032 656822 Belgique
Martin Emilie 19 emilie.martin@example.com 0032 508124 Belgique
Richard Emilie 33 emilie.richard@example.com 0032 485416 Belgique
Simon Amélie 45 amélie.simon@example.com 0032 413144 Belgique
Martin Amélie 19 amélie.martin@example.com 0032 352634 Belgique
Laurent Chloé 39 chloé.laurent@example.com 0032 134430 Belgique
Simon Pauline 37 pauline.simon@example.com 0032 090605 Belgique
Petit Chloé 33 chloé.petit@example.com 0032 084448 Belgique