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
Moreau Victoire 43 victoire.moreau@example.com 0032 414105 Belgique
Dubois Victoire 42 victoire.dubois@example.com 0033 492896 France
Martin Victoire 43 victoire.martin@example.com 0032 349222 Belgique
Laurent Victoire 38 victoire.laurent@example.com 00352 527181 Luxembourg
Martin Victoire 18 victoire.martin@example.com 00352 958863 Luxembourg
Robert Victoire 26 victoire.robert@example.com 0032 820739 Belgique
Dubois Victoire 28 victoire.dubois@example.com 0032 423432 Belgique
Petit Pauline 39 pauline.petit@example.com 0032 675107 Belgique
Laurent Pauline 42 pauline.laurent@example.com 0032 442034 Belgique
Richard Pauline 41 pauline.richard@example.com 0032 921168 Belgique
Moreau Pauline 32 pauline.moreau@example.com 00352 231504 Luxembourg
Laurent Pauline 36 pauline.laurent@example.com 00352 857330 Luxembourg
Dubois Pauline 19 pauline.dubois@example.com 0032 343517 Belgique
Dubois Mathilde 26 mathilde.dubois@example.com 00352 310951 Luxembourg
Martin Mathilde 38 mathilde.martin@example.com 00352 587957 Luxembourg
Thomas Mathilde 42 mathilde.thomas@example.com 00352 550040 Luxembourg
Durand Mathilde 42 mathilde.durand@example.com 00352 869080 Luxembourg
Martin Léa 26 léa.martin@example.com 0032 110452 Belgique
Dubois Léa 38 léa.dubois@example.com 00352 054887 Luxembourg
Simon Léa 29 léa.simon@example.com 0032 357652 Belgique
Robert Léa 25 léa.robert@example.com 0033 978205 France
Richard Louise 25 louise.richard@example.com 0032 060458 Belgique
Simon Louise 35 louise.simon@example.com 0032 494327 Belgique
Robert Louise 40 louise.robert@example.com 0032 735032 Belgique
Simon Louise 31 louise.simon@example.com 0033 383098 France
Laurent Julie 18 julie.laurent@example.com 0032 613113 Belgique
Simon Julie 26 julie.simon@example.com 00352 855301 Luxembourg
Richard Julie 26 julie.richard@example.com 0032 525690 Belgique
Durand Emilie 28 emilie.durand@example.com 00352 822353 Luxembourg
Thomas Emilie 35 emilie.thomas@example.com 00352 247759 Luxembourg
Martin Emilie 29 emilie.martin@example.com 00352 741234 Luxembourg
Moreau Emilie 45 emilie.moreau@example.com 0033 297103 France
Laurent Emilie 18 emilie.laurent@example.com 0032 136895 Belgique
Durand Emilie 21 emilie.durand@example.com 0033 247855 France
Thomas Emilie 18 emilie.thomas@example.com 0032 008044 Belgique
Durand Chloé 18 chloé.durand@example.com 0033 711649 France
Richard Chloé 28 chloé.richard@example.com 00352 967853 Luxembourg
Martin Chloé 32 chloé.martin@example.com 0033 376072 France
Dubois Chloé 33 chloé.dubois@example.com 00352 005669 Luxembourg
Martin Camille 20 camille.martin@example.com 0033 306177 France
Thomas Camille 43 camille.thomas@example.com 0032 315267 Belgique
Petit Camille 39 camille.petit@example.com 00352 540447 Luxembourg
Robert Camille 36 camille.robert@example.com 0032 489906 Belgique
Moreau Camille 21 camille.moreau@example.com 0033 067935 France
Dubois Camille 37 camille.dubois@example.com 00352 214986 Luxembourg
Laurent Amélie 42 amélie.laurent@example.com 0032 658670 Belgique
Dubois Amélie 26 amélie.dubois@example.com 0032 540634 Belgique
Martin Amélie 26 amélie.martin@example.com 00352 828536 Luxembourg
Dubois Amélie 27 amélie.dubois@example.com 0033 509917 France
Petit Amélie 19 amélie.petit@example.com 00352 472040 Luxembourg