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
Martin Victoire 29 victoire.martin@example.com 00352 976485 Luxembourg
Richard Chloé 27 chloé.richard@example.com 00352 916221 Luxembourg
Durand Chloé 42 chloé.durand@example.com 00352 915976 Luxembourg
Dubois Mathilde 45 mathilde.dubois@example.com 00352 812179 Luxembourg
Simon Louise 43 louise.simon@example.com 00352 767756 Luxembourg
Thomas Emilie 21 emilie.thomas@example.com 00352 759622 Luxembourg
Simon Léa 40 léa.simon@example.com 00352 665765 Luxembourg
Simon Victoire 34 victoire.simon@example.com 00352 656040 Luxembourg
Martin Louise 45 louise.martin@example.com 00352 636061 Luxembourg
Thomas Emilie 20 emilie.thomas@example.com 00352 513411 Luxembourg
Thomas Pauline 36 pauline.thomas@example.com 00352 411710 Luxembourg
Robert Camille 20 camille.robert@example.com 00352 200021 Luxembourg
Laurent Amélie 35 amélie.laurent@example.com 00352 041744 Luxembourg
Thomas Emilie 26 emilie.thomas@example.com 00352 032803 Luxembourg
Martin Mathilde 42 mathilde.martin@example.com 0033 885782 France
Simon Mathilde 37 mathilde.simon@example.com 0033 885417 France
Thomas Victoire 28 victoire.thomas@example.com 0033 872910 France
Dubois Emilie 31 emilie.dubois@example.com 0033 785311 France
Robert Victoire 45 victoire.robert@example.com 0033 751098 France
Thomas Mathilde 27 mathilde.thomas@example.com 0033 649290 France
Richard Emilie 42 emilie.richard@example.com 0033 578893 France
Durand Amélie 26 amélie.durand@example.com 0033 403295 France
Dubois Emilie 45 emilie.dubois@example.com 0033 384610 France
Dubois Mathilde 35 mathilde.dubois@example.com 0033 230406 France
Laurent Chloé 45 chloé.laurent@example.com 0033 186882 France
Dubois Mathilde 40 mathilde.dubois@example.com 0033 105409 France
Thomas Pauline 26 pauline.thomas@example.com 0033 045235 France
Martin Louise 21 louise.martin@example.com 0032 928106 Belgique
Robert Louise 45 louise.robert@example.com 0032 854951 Belgique
Moreau Amélie 19 amélie.moreau@example.com 0032 845064 Belgique
Robert Louise 29 louise.robert@example.com 0032 818891 Belgique
Moreau Pauline 43 pauline.moreau@example.com 0032 789301 Belgique
Martin Camille 32 camille.martin@example.com 0032 786406 Belgique
Petit Léa 28 léa.petit@example.com 0032 703684 Belgique
Simon Julie 20 julie.simon@example.com 0032 618301 Belgique
Robert Léa 37 léa.robert@example.com 0032 600585 Belgique
Laurent Louise 40 louise.laurent@example.com 0032 582795 Belgique
Petit Amélie 33 amélie.petit@example.com 0032 534612 Belgique
Robert Louise 26 louise.robert@example.com 0032 504881 Belgique
Martin Emilie 27 emilie.martin@example.com 0032 469011 Belgique
Durand Victoire 30 victoire.durand@example.com 0032 416375 Belgique
Martin Chloé 31 chloé.martin@example.com 0032 410525 Belgique
Martin Louise 41 louise.martin@example.com 0032 372287 Belgique
Thomas Camille 19 camille.thomas@example.com 0032 340953 Belgique
Richard Pauline 38 pauline.richard@example.com 0032 279964 Belgique
Moreau Louise 43 louise.moreau@example.com 0032 251708 Belgique
Thomas Chloé 33 chloé.thomas@example.com 0032 216574 Belgique
Moreau Victoire 30 victoire.moreau@example.com 0032 168035 Belgique
Laurent Mathilde 40 mathilde.laurent@example.com 0032 068526 Belgique
Robert Pauline 24 pauline.robert@example.com 0032 009473 Belgique