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 Louise 26 louise.dubois@example.com 0032 474433 Belgique
Dubois Emilie 28 emilie.dubois@example.com 00352 552172 Luxembourg
Durand Victoire 39 victoire.durand@example.com 0033 761283 France
Durand Amélie 43 amélie.durand@example.com 0032 878448 Belgique
Durand Pauline 19 pauline.durand@example.com 00352 624950 Luxembourg
Durand Victoire 26 victoire.durand@example.com 0033 325564 France
Durand Mathilde 19 mathilde.durand@example.com 00352 276428 Luxembourg
Durand Victoire 32 victoire.durand@example.com 0032 393682 Belgique
Laurent Camille 32 camille.laurent@example.com 00352 096646 Luxembourg
Laurent Mathilde 24 mathilde.laurent@example.com 0032 661809 Belgique
Laurent Victoire 28 victoire.laurent@example.com 0033 571705 France
Laurent Louise 37 louise.laurent@example.com 00352 629467 Luxembourg
Laurent Emilie 26 emilie.laurent@example.com 0033 890094 France
Laurent Victoire 18 victoire.laurent@example.com 0033 150949 France
Laurent Pauline 41 pauline.laurent@example.com 0032 436418 Belgique
Laurent Pauline 21 pauline.laurent@example.com 00352 484126 Luxembourg
Laurent Léa 25 léa.laurent@example.com 00352 535570 Luxembourg
Martin Mathilde 44 mathilde.martin@example.com 00352 390402 Luxembourg
Martin Mathilde 42 mathilde.martin@example.com 0032 119180 Belgique
Martin Victoire 18 victoire.martin@example.com 0033 316131 France
Martin Pauline 20 pauline.martin@example.com 00352 033037 Luxembourg
Martin Amélie 44 amélie.martin@example.com 0033 845094 France
Martin Victoire 34 victoire.martin@example.com 0033 914109 France
Moreau Chloé 34 chloé.moreau@example.com 0033 229720 France
Moreau Chloé 31 chloé.moreau@example.com 00352 389016 Luxembourg
Moreau Chloé 20 chloé.moreau@example.com 0032 784419 Belgique
Petit Chloé 43 chloé.petit@example.com 00352 040381 Luxembourg
Petit Louise 26 louise.petit@example.com 0033 725955 France
Petit Amélie 24 amélie.petit@example.com 00352 981885 Luxembourg
Richard Chloé 26 chloé.richard@example.com 0032 098904 Belgique
Richard Chloé 24 chloé.richard@example.com 0032 550608 Belgique
Richard Pauline 24 pauline.richard@example.com 0032 987560 Belgique
Richard Chloé 22 chloé.richard@example.com 00352 673135 Luxembourg
Richard Amélie 28 amélie.richard@example.com 0033 120428 France
Richard Pauline 38 pauline.richard@example.com 0033 859650 France
Richard Amélie 45 amélie.richard@example.com 0032 754186 Belgique
Richard Julie 38 julie.richard@example.com 0033 565622 France
Robert Léa 24 léa.robert@example.com 00352 144203 Luxembourg
Robert Amélie 18 amélie.robert@example.com 00352 194121 Luxembourg
Robert Victoire 19 victoire.robert@example.com 0032 303162 Belgique
Robert Amélie 30 amélie.robert@example.com 00352 565144 Luxembourg
Robert Léa 23 léa.robert@example.com 0033 885318 France
Simon Amélie 36 amélie.simon@example.com 0033 669049 France
Simon Chloé 18 chloé.simon@example.com 0032 592035 Belgique
Simon Louise 39 louise.simon@example.com 0032 970208 Belgique
Thomas Chloé 39 chloé.thomas@example.com 0033 069511 France
Thomas Louise 29 louise.thomas@example.com 0032 421940 Belgique
Thomas Léa 25 léa.thomas@example.com 00352 926177 Luxembourg
Thomas Chloé 31 chloé.thomas@example.com 0033 562374 France
Thomas Louise 21 louise.thomas@example.com 0033 456603 France