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
Robert Amélie 44 amélie.robert@example.com 0032 755819 Belgique
Simon Amélie 25 amélie.simon@example.com 00352 557179 Luxembourg
Thomas Amélie 33 amélie.thomas@example.com 00352 964450 Luxembourg
Moreau Amélie 28 amélie.moreau@example.com 0033 332281 France
Dubois Camille 33 camille.dubois@example.com 0032 566578 Belgique
Dubois Camille 34 camille.dubois@example.com 0032 582360 Belgique
Moreau Camille 23 camille.moreau@example.com 0033 886592 France
Richard Camille 35 camille.richard@example.com 00352 689647 Luxembourg
Petit Camille 34 camille.petit@example.com 0033 435166 France
Thomas Chloé 37 chloé.thomas@example.com 0033 543157 France
Durand Chloé 34 chloé.durand@example.com 00352 433819 Luxembourg
Thomas Chloé 26 chloé.thomas@example.com 00352 598161 Luxembourg
Durand Chloé 28 chloé.durand@example.com 0033 229816 France
Durand Emilie 43 emilie.durand@example.com 0032 591988 Belgique
Laurent Emilie 25 emilie.laurent@example.com 0033 746106 France
Richard Emilie 40 emilie.richard@example.com 0032 110506 Belgique
Simon Julie 44 julie.simon@example.com 0033 546443 France
Thomas Julie 31 julie.thomas@example.com 0032 274424 Belgique
Petit Julie 31 julie.petit@example.com 0032 839549 Belgique
Thomas Julie 41 julie.thomas@example.com 00352 638048 Luxembourg
Durand Julie 39 julie.durand@example.com 0033 195367 France
Moreau Julie 41 julie.moreau@example.com 00352 467937 Luxembourg
Laurent Louise 27 louise.laurent@example.com 00352 633642 Luxembourg
Durand Louise 27 louise.durand@example.com 0032 315008 Belgique
Moreau Louise 27 louise.moreau@example.com 0033 119430 France
Laurent Louise 40 louise.laurent@example.com 0032 426017 Belgique
Moreau Louise 27 louise.moreau@example.com 0033 980747 France
Petit Louise 43 louise.petit@example.com 00352 282261 Luxembourg
Simon Louise 38 louise.simon@example.com 00352 928029 Luxembourg
Laurent Léa 22 léa.laurent@example.com 0032 286602 Belgique
Moreau Léa 23 léa.moreau@example.com 0033 141458 France
Moreau Léa 43 léa.moreau@example.com 0032 726782 Belgique
Thomas Léa 35 léa.thomas@example.com 0033 794303 France
Petit Léa 37 léa.petit@example.com 00352 103676 Luxembourg
Thomas Léa 32 léa.thomas@example.com 0033 353022 France
Petit Léa 39 léa.petit@example.com 0033 258252 France
Thomas Léa 22 léa.thomas@example.com 0033 886258 France
Thomas Léa 42 léa.thomas@example.com 00352 828377 Luxembourg
Laurent Mathilde 43 mathilde.laurent@example.com 00352 059547 Luxembourg
Simon Mathilde 43 mathilde.simon@example.com 0033 423343 France
Moreau Mathilde 41 mathilde.moreau@example.com 00352 470057 Luxembourg
Martin Mathilde 19 mathilde.martin@example.com 0032 935330 Belgique
Martin Pauline 28 pauline.martin@example.com 00352 994374 Luxembourg
Thomas Pauline 41 pauline.thomas@example.com 00352 499653 Luxembourg
Simon Pauline 28 pauline.simon@example.com 0032 692800 Belgique
Thomas Pauline 38 pauline.thomas@example.com 0032 878915 Belgique
Simon Pauline 32 pauline.simon@example.com 0032 450631 Belgique
Simon Victoire 34 victoire.simon@example.com 00352 428188 Luxembourg
Moreau Victoire 34 victoire.moreau@example.com 00352 986728 Luxembourg
Martin Victoire 25 victoire.martin@example.com 00352 436810 Luxembourg