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
Laurent Victoire 24 victoire.laurent@example.com 0033 756624 France
Dubois Victoire 24 victoire.dubois@example.com 0032 184601 Belgique
Simon Pauline 20 pauline.simon@example.com 0033 615515 France
Martin Pauline 23 pauline.martin@example.com 0032 157082 Belgique
Durand Pauline 30 pauline.durand@example.com 0033 251710 France
Dubois Pauline 20 pauline.dubois@example.com 00352 998447 Luxembourg
Robert Mathilde 31 mathilde.robert@example.com 0032 828038 Belgique
Petit Mathilde 39 mathilde.petit@example.com 0032 087089 Belgique
Robert Léa 37 léa.robert@example.com 00352 665711 Luxembourg
Robert Léa 30 léa.robert@example.com 00352 591518 Luxembourg
Richard Léa 29 léa.richard@example.com 0032 508744 Belgique
Richard Léa 29 léa.richard@example.com 0033 775625 France
Richard Léa 31 léa.richard@example.com 0033 265179 France
Dubois Léa 27 léa.dubois@example.com 0033 158367 France
Simon Louise 34 louise.simon@example.com 00352 543637 Luxembourg
Laurent Louise 32 louise.laurent@example.com 0032 444602 Belgique
Thomas Julie 44 julie.thomas@example.com 00352 205533 Luxembourg
Robert Julie 31 julie.robert@example.com 0032 223526 Belgique
Petit Julie 31 julie.petit@example.com 0032 387419 Belgique
Moreau Julie 32 julie.moreau@example.com 0032 322306 Belgique
Durand Julie 21 julie.durand@example.com 00352 643824 Luxembourg
Durand Julie 25 julie.durand@example.com 0032 905620 Belgique
Dubois Julie 36 julie.dubois@example.com 00352 254047 Luxembourg
Thomas Emilie 37 emilie.thomas@example.com 0032 361597 Belgique
Simon Emilie 31 emilie.simon@example.com 0032 235295 Belgique
Richard Emilie 29 emilie.richard@example.com 0033 251248 France
Richard Emilie 37 emilie.richard@example.com 00352 539001 Luxembourg
Martin Emilie 23 emilie.martin@example.com 0033 176528 France
Laurent Emilie 40 emilie.laurent@example.com 00352 539395 Luxembourg
Durand Emilie 24 emilie.durand@example.com 0032 487174 Belgique
Thomas Chloé 27 chloé.thomas@example.com 0033 740165 France
Richard Chloé 28 chloé.richard@example.com 0032 292399 Belgique
Richard Chloé 20 chloé.richard@example.com 0033 234814 France
Richard Chloé 42 chloé.richard@example.com 0032 970089 Belgique
Petit Chloé 19 chloé.petit@example.com 0033 709483 France
Moreau Chloé 42 chloé.moreau@example.com 0032 451125 Belgique
Martin Chloé 24 chloé.martin@example.com 00352 332088 Luxembourg
Laurent Chloé 25 chloé.laurent@example.com 00352 742726 Luxembourg
Durand Chloé 31 chloé.durand@example.com 0033 400397 France
Thomas Camille 19 camille.thomas@example.com 0032 364319 Belgique
Petit Camille 44 camille.petit@example.com 0032 544435 Belgique
Petit Camille 26 camille.petit@example.com 0033 309894 France
Moreau Camille 19 camille.moreau@example.com 0033 608416 France
Laurent Camille 40 camille.laurent@example.com 0033 790118 France
Dubois Camille 21 camille.dubois@example.com 00352 683235 Luxembourg
Dubois Camille 35 camille.dubois@example.com 0033 347434 France
Richard Amélie 37 amélie.richard@example.com 00352 084398 Luxembourg
Moreau Amélie 29 amélie.moreau@example.com 0032 769124 Belgique
Laurent Amélie 20 amélie.laurent@example.com 0032 279070 Belgique
Durand Amélie 19 amélie.durand@example.com 00352 383597 Luxembourg