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
Richard Amélie 20 amélie.richard@example.com 0032 171320 Belgique
Robert Amélie 35 amélie.robert@example.com 00352 815082 Luxembourg
Richard Amélie 36 amélie.richard@example.com 0033 857380 France
Dubois Camille 43 camille.dubois@example.com 00352 820176 Luxembourg
Robert Camille 23 camille.robert@example.com 0032 711663 Belgique
Moreau Camille 32 camille.moreau@example.com 0032 398768 Belgique
Richard Chloé 19 chloé.richard@example.com 00352 891075 Luxembourg
Durand Chloé 33 chloé.durand@example.com 0032 372897 Belgique
Martin Chloé 22 chloé.martin@example.com 00352 838917 Luxembourg
Thomas Chloé 28 chloé.thomas@example.com 0033 761149 France
Simon Chloé 42 chloé.simon@example.com 00352 138364 Luxembourg
Richard Chloé 34 chloé.richard@example.com 0032 710867 Belgique
Robert Chloé 44 chloé.robert@example.com 00352 450986 Luxembourg
Dubois Chloé 30 chloé.dubois@example.com 0033 127544 France
Moreau Chloé 45 chloé.moreau@example.com 00352 482616 Luxembourg
Moreau Chloé 18 chloé.moreau@example.com 0033 368613 France
Simon Chloé 20 chloé.simon@example.com 0032 992992 Belgique
Laurent Emilie 24 emilie.laurent@example.com 0032 534675 Belgique
Durand Emilie 31 emilie.durand@example.com 0032 732586 Belgique
Petit Emilie 22 emilie.petit@example.com 0032 531277 Belgique
Martin Emilie 40 emilie.martin@example.com 0032 265182 Belgique
Durand Emilie 45 emilie.durand@example.com 00352 319409 Luxembourg
Simon Emilie 31 emilie.simon@example.com 0032 661080 Belgique
Moreau Emilie 37 emilie.moreau@example.com 00352 892633 Luxembourg
Richard Emilie 20 emilie.richard@example.com 00352 990989 Luxembourg
Petit Julie 34 julie.petit@example.com 0033 306105 France
Thomas Julie 29 julie.thomas@example.com 00352 295791 Luxembourg
Laurent Julie 40 julie.laurent@example.com 00352 187942 Luxembourg
Moreau Julie 42 julie.moreau@example.com 0032 906029 Belgique
Robert Julie 28 julie.robert@example.com 00352 137723 Luxembourg
Laurent Julie 28 julie.laurent@example.com 0032 765019 Belgique
Moreau Julie 36 julie.moreau@example.com 00352 176007 Luxembourg
Petit Louise 35 louise.petit@example.com 0033 284336 France
Thomas Louise 30 louise.thomas@example.com 0033 734782 France
Petit Louise 22 louise.petit@example.com 0033 359369 France
Dubois Louise 39 louise.dubois@example.com 00352 144776 Luxembourg
Petit Léa 45 léa.petit@example.com 0032 232688 Belgique
Martin Léa 32 léa.martin@example.com 0032 122277 Belgique
Robert Léa 42 léa.robert@example.com 00352 500642 Luxembourg
Richard Mathilde 33 mathilde.richard@example.com 0032 412368 Belgique
Petit Mathilde 25 mathilde.petit@example.com 0033 769508 France
Laurent Mathilde 42 mathilde.laurent@example.com 00352 029100 Luxembourg
Laurent Pauline 30 pauline.laurent@example.com 00352 911046 Luxembourg
Laurent Pauline 43 pauline.laurent@example.com 00352 320998 Luxembourg
Robert Pauline 29 pauline.robert@example.com 0033 911857 France
Robert Pauline 33 pauline.robert@example.com 0032 575212 Belgique
Simon Victoire 42 victoire.simon@example.com 0033 708085 France
Dubois Victoire 44 victoire.dubois@example.com 00352 964554 Luxembourg
Laurent Victoire 20 victoire.laurent@example.com 0033 866074 France
Thomas Victoire 31 victoire.thomas@example.com 0033 915947 France