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
Dubois Léa 21 léa.dubois@example.com 0033 354194 France
Dubois Victoire 23 victoire.dubois@example.com 0033 122902 France
Durand Léa 31 léa.durand@example.com 0032 927323 Belgique
Durand Amélie 33 amélie.durand@example.com 0032 967400 Belgique
Durand Louise 43 louise.durand@example.com 0032 464207 Belgique
Laurent Emilie 19 emilie.laurent@example.com 0033 861960 France
Laurent Victoire 28 victoire.laurent@example.com 00352 930670 Luxembourg
Laurent Louise 42 louise.laurent@example.com 00352 885736 Luxembourg
Martin Victoire 18 victoire.martin@example.com 0033 492973 France
Martin Louise 38 louise.martin@example.com 00352 325364 Luxembourg
Martin Pauline 23 pauline.martin@example.com 0032 330046 Belgique
Martin Amélie 24 amélie.martin@example.com 0032 348921 Belgique
Martin Louise 20 louise.martin@example.com 0033 766644 France
Moreau Louise 29 louise.moreau@example.com 0033 928368 France
Moreau Louise 28 louise.moreau@example.com 00352 573735 Luxembourg
Moreau Louise 22 louise.moreau@example.com 0032 831860 Belgique
Moreau Pauline 28 pauline.moreau@example.com 0033 177477 France
Moreau Victoire 33 victoire.moreau@example.com 0032 372066 Belgique
Moreau Pauline 44 pauline.moreau@example.com 0033 473321 France
Moreau Victoire 29 victoire.moreau@example.com 0032 911249 Belgique
Moreau Pauline 35 pauline.moreau@example.com 0033 031666 France
Petit Chloé 43 chloé.petit@example.com 00352 895652 Luxembourg
Petit Camille 18 camille.petit@example.com 00352 301696 Luxembourg
Petit Camille 21 camille.petit@example.com 0032 454863 Belgique
Petit Victoire 34 victoire.petit@example.com 0033 005306 France
Petit Julie 36 julie.petit@example.com 0032 246549 Belgique
Richard Louise 37 louise.richard@example.com 0032 898137 Belgique
Richard Pauline 41 pauline.richard@example.com 0032 624958 Belgique
Richard Louise 32 louise.richard@example.com 0033 763824 France
Robert Pauline 36 pauline.robert@example.com 0033 177191 France
Robert Julie 42 julie.robert@example.com 00352 593283 Luxembourg
Robert Emilie 23 emilie.robert@example.com 00352 522183 Luxembourg
Robert Emilie 18 emilie.robert@example.com 0033 290140 France
Robert Camille 31 camille.robert@example.com 00352 190098 Luxembourg
Simon Victoire 40 victoire.simon@example.com 0033 681710 France
Simon Amélie 24 amélie.simon@example.com 0033 555286 France
Simon Julie 42 julie.simon@example.com 0033 328767 France
Simon Victoire 20 victoire.simon@example.com 0032 470628 Belgique
Simon Pauline 22 pauline.simon@example.com 0032 421939 Belgique
Thomas Léa 27 léa.thomas@example.com 0033 151863 France
Thomas Pauline 21 pauline.thomas@example.com 0033 210611 France
Thomas Julie 45 julie.thomas@example.com 0033 608548 France
Thomas Chloé 18 chloé.thomas@example.com 00352 026475 Luxembourg
Thomas Amélie 26 amélie.thomas@example.com 0032 449850 Belgique
Thomas Camille 40 camille.thomas@example.com 00352 543231 Luxembourg
Thomas Amélie 22 amélie.thomas@example.com 00352 370505 Luxembourg
Thomas Chloé 38 chloé.thomas@example.com 0032 892259 Belgique
Thomas Léa 23 léa.thomas@example.com 0033 702765 France
Thomas Julie 32 julie.thomas@example.com 00352 508232 Luxembourg
Thomas Louise 18 louise.thomas@example.com 0033 238797 France