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 Amélie 39 amélie.moreau@example.com 00352 274142 Luxembourg
Moreau Amélie 21 amélie.moreau@example.com 00352 119874 Luxembourg
Moreau Amélie 21 amélie.moreau@example.com 0032 861362 Belgique
Thomas Amélie 22 amélie.thomas@example.com 00352 888328 Luxembourg
Dubois Camille 25 camille.dubois@example.com 00352 693377 Luxembourg
Dubois Camille 22 camille.dubois@example.com 00352 605964 Luxembourg
Dubois Chloé 23 chloé.dubois@example.com 0032 686993 Belgique
Laurent Chloé 41 chloé.laurent@example.com 0032 247570 Belgique
Laurent Chloé 39 chloé.laurent@example.com 0033 964869 France
Martin Chloé 33 chloé.martin@example.com 0032 684080 Belgique
Richard Chloé 37 chloé.richard@example.com 0032 867526 Belgique
Robert Chloé 41 chloé.robert@example.com 00352 020452 Luxembourg
Simon Chloé 29 chloé.simon@example.com 0032 502130 Belgique
Simon Chloé 28 chloé.simon@example.com 0032 966006 Belgique
Moreau Emilie 43 emilie.moreau@example.com 00352 114169 Luxembourg
Robert Emilie 44 emilie.robert@example.com 0032 977676 Belgique
Durand Julie 34 julie.durand@example.com 0032 634878 Belgique
Martin Julie 25 julie.martin@example.com 0032 826591 Belgique
Moreau Julie 27 julie.moreau@example.com 0033 032680 France
Thomas Julie 41 julie.thomas@example.com 0033 816173 France
Thomas Julie 36 julie.thomas@example.com 00352 316236 Luxembourg
Dubois Louise 45 louise.dubois@example.com 0033 702617 France
Durand Louise 44 louise.durand@example.com 0033 630566 France
Durand Louise 24 louise.durand@example.com 0033 354681 France
Durand Louise 34 louise.durand@example.com 0032 706799 Belgique
Martin Louise 39 louise.martin@example.com 00352 960219 Luxembourg
Moreau Louise 28 louise.moreau@example.com 00352 982571 Luxembourg
Richard Louise 27 louise.richard@example.com 0033 418811 France
Robert Louise 26 louise.robert@example.com 0032 098415 Belgique
Durand Léa 43 léa.durand@example.com 0033 609852 France
Laurent Léa 40 léa.laurent@example.com 0033 110857 France
Laurent Léa 36 léa.laurent@example.com 0032 366113 Belgique
Martin Léa 20 léa.martin@example.com 00352 398491 Luxembourg
Moreau Léa 23 léa.moreau@example.com 00352 962170 Luxembourg
Robert Léa 30 léa.robert@example.com 00352 415567 Luxembourg
Robert Léa 33 léa.robert@example.com 00352 602948 Luxembourg
Robert Léa 32 léa.robert@example.com 00352 096111 Luxembourg
Robert Léa 31 léa.robert@example.com 00352 558178 Luxembourg
Thomas Léa 27 léa.thomas@example.com 00352 854317 Luxembourg
Durand Pauline 45 pauline.durand@example.com 0033 572218 France
Martin Pauline 43 pauline.martin@example.com 0033 518073 France
Robert Pauline 25 pauline.robert@example.com 00352 206148 Luxembourg
Robert Pauline 31 pauline.robert@example.com 0032 248079 Belgique
Simon Pauline 24 pauline.simon@example.com 0032 533254 Belgique
Dubois Victoire 19 victoire.dubois@example.com 00352 650320 Luxembourg
Durand Victoire 30 victoire.durand@example.com 0033 653838 France
Durand Victoire 32 victoire.durand@example.com 0033 897156 France
Laurent Victoire 20 victoire.laurent@example.com 0032 774480 Belgique
Petit Victoire 21 victoire.petit@example.com 00352 647835 Luxembourg
Richard Victoire 38 victoire.richard@example.com 0032 273537 Belgique