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
Thomas Victoire 21 victoire.thomas@example.com 0032 651048 Belgique
Richard Victoire 29 victoire.richard@example.com 0033 301138 France
Petit Victoire 45 victoire.petit@example.com 00352 774175 Luxembourg
Martin Victoire 27 victoire.martin@example.com 00352 342374 Luxembourg
Dubois Victoire 19 victoire.dubois@example.com 00352 800765 Luxembourg
Laurent Victoire 21 victoire.laurent@example.com 0033 272407 France
Petit Victoire 21 victoire.petit@example.com 0032 011389 Belgique
Moreau Victoire 19 victoire.moreau@example.com 0032 146330 Belgique
Dubois Victoire 33 victoire.dubois@example.com 0032 485372 Belgique
Petit Pauline 31 pauline.petit@example.com 0032 422130 Belgique
Petit Pauline 24 pauline.petit@example.com 00352 975627 Luxembourg
Robert Pauline 37 pauline.robert@example.com 0033 487749 France
Martin Pauline 36 pauline.martin@example.com 00352 323196 Luxembourg
Robert Mathilde 43 mathilde.robert@example.com 00352 896003 Luxembourg
Martin Mathilde 38 mathilde.martin@example.com 0032 063898 Belgique
Robert Mathilde 32 mathilde.robert@example.com 00352 815376 Luxembourg
Dubois Mathilde 31 mathilde.dubois@example.com 0033 125971 France
Moreau Mathilde 18 mathilde.moreau@example.com 0033 178952 France
Petit Mathilde 41 mathilde.petit@example.com 0033 848807 France
Thomas Mathilde 45 mathilde.thomas@example.com 0032 617238 Belgique
Richard Mathilde 25 mathilde.richard@example.com 00352 765740 Luxembourg
Simon Léa 28 léa.simon@example.com 0032 285844 Belgique
Simon Léa 38 léa.simon@example.com 0032 364490 Belgique
Petit Léa 43 léa.petit@example.com 0032 868990 Belgique
Martin Léa 40 léa.martin@example.com 0033 850585 France
Moreau Léa 24 léa.moreau@example.com 0032 614027 Belgique
Dubois Louise 21 louise.dubois@example.com 00352 637623 Luxembourg
Laurent Louise 19 louise.laurent@example.com 0032 191939 Belgique
Dubois Julie 27 julie.dubois@example.com 00352 322776 Luxembourg
Richard Julie 18 julie.richard@example.com 0032 871836 Belgique
Durand Julie 45 julie.durand@example.com 00352 163206 Luxembourg
Dubois Emilie 26 emilie.dubois@example.com 0032 213418 Belgique
Robert Emilie 19 emilie.robert@example.com 0033 594558 France
Moreau Emilie 35 emilie.moreau@example.com 0032 927297 Belgique
Dubois Emilie 36 emilie.dubois@example.com 0032 197921 Belgique
Richard Emilie 39 emilie.richard@example.com 0032 286212 Belgique
Robert Emilie 38 emilie.robert@example.com 0033 726434 France
Simon Emilie 39 emilie.simon@example.com 00352 684294 Luxembourg
Martin Chloé 42 chloé.martin@example.com 0032 650747 Belgique
Moreau Chloé 31 chloé.moreau@example.com 00352 632516 Luxembourg
Simon Chloé 20 chloé.simon@example.com 0033 813811 France
Petit Chloé 18 chloé.petit@example.com 0033 396381 France
Laurent Camille 31 camille.laurent@example.com 0032 724317 Belgique
Laurent Camille 22 camille.laurent@example.com 0032 070345 Belgique
Moreau Camille 33 camille.moreau@example.com 00352 997175 Luxembourg
Durand Camille 28 camille.durand@example.com 0033 696514 France
Durand Camille 31 camille.durand@example.com 00352 315377 Luxembourg
Moreau Amélie 25 amélie.moreau@example.com 0033 755477 France
Richard Amélie 40 amélie.richard@example.com 0032 572878 Belgique
Petit Amélie 18 amélie.petit@example.com 00352 483820 Luxembourg