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
Petit Julie 23 julie.petit@example.com 00352 992131 Luxembourg
Robert Camille 24 camille.robert@example.com 00352 784664 Luxembourg
Petit Camille 23 camille.petit@example.com 00352 772668 Luxembourg
Laurent Pauline 43 pauline.laurent@example.com 00352 577336 Luxembourg
Robert Mathilde 29 mathilde.robert@example.com 00352 536096 Luxembourg
Laurent Camille 42 camille.laurent@example.com 00352 459600 Luxembourg
Martin Léa 34 léa.martin@example.com 00352 398307 Luxembourg
Thomas Emilie 35 emilie.thomas@example.com 00352 367344 Luxembourg
Robert Amélie 36 amélie.robert@example.com 00352 248233 Luxembourg
Thomas Victoire 42 victoire.thomas@example.com 00352 244201 Luxembourg
Robert Pauline 25 pauline.robert@example.com 00352 180477 Luxembourg
Moreau Chloé 35 chloé.moreau@example.com 00352 177449 Luxembourg
Richard Emilie 37 emilie.richard@example.com 00352 145987 Luxembourg
Martin Amélie 25 amélie.martin@example.com 0033 954058 France
Moreau Louise 19 louise.moreau@example.com 0033 928169 France
Martin Pauline 45 pauline.martin@example.com 0033 807051 France
Simon Julie 28 julie.simon@example.com 0033 651032 France
Simon Louise 44 louise.simon@example.com 0033 626711 France
Thomas Léa 26 léa.thomas@example.com 0033 609033 France
Dubois Amélie 24 amélie.dubois@example.com 0033 475318 France
Richard Amélie 27 amélie.richard@example.com 0033 467197 France
Moreau Julie 29 julie.moreau@example.com 0033 417948 France
Dubois Amélie 36 amélie.dubois@example.com 0033 248158 France
Moreau Léa 43 léa.moreau@example.com 0033 238552 France
Laurent Mathilde 41 mathilde.laurent@example.com 0033 179295 France
Durand Amélie 28 amélie.durand@example.com 0033 069918 France
Petit Camille 20 camille.petit@example.com 0032 936235 Belgique
Martin Camille 27 camille.martin@example.com 0032 935612 Belgique
Simon Louise 45 louise.simon@example.com 0032 903345 Belgique
Richard Pauline 29 pauline.richard@example.com 0032 812623 Belgique
Martin Julie 31 julie.martin@example.com 0032 791200 Belgique
Thomas Louise 36 louise.thomas@example.com 0032 782265 Belgique
Thomas Camille 24 camille.thomas@example.com 0032 772534 Belgique
Robert Léa 35 léa.robert@example.com 0032 761192 Belgique
Martin Louise 40 louise.martin@example.com 0032 757992 Belgique
Laurent Louise 40 louise.laurent@example.com 0032 743351 Belgique
Dubois Pauline 19 pauline.dubois@example.com 0032 638432 Belgique
Laurent Camille 25 camille.laurent@example.com 0032 561762 Belgique
Richard Julie 42 julie.richard@example.com 0032 560262 Belgique
Richard Louise 38 louise.richard@example.com 0032 519320 Belgique
Durand Léa 42 léa.durand@example.com 0032 514719 Belgique
Thomas Chloé 33 chloé.thomas@example.com 0032 514177 Belgique
Thomas Chloé 32 chloé.thomas@example.com 0032 334682 Belgique
Robert Louise 30 louise.robert@example.com 0032 319732 Belgique
Thomas Pauline 29 pauline.thomas@example.com 0032 317441 Belgique
Laurent Julie 33 julie.laurent@example.com 0032 293086 Belgique
Simon Chloé 27 chloé.simon@example.com 0032 111468 Belgique
Robert Camille 33 camille.robert@example.com 0032 097469 Belgique
Laurent Camille 45 camille.laurent@example.com 0032 043682 Belgique
Simon Louise 38 louise.simon@example.com 0032 030747 Belgique