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 37 louise.dubois@example.com 00352 595598 Luxembourg
Dubois Amélie 20 amélie.dubois@example.com 0033 496898 France
Dubois Julie 29 julie.dubois@example.com 00352 929372 Luxembourg
Dubois Julie 18 julie.dubois@example.com 0032 226711 Belgique
Durand Chloé 23 chloé.durand@example.com 0032 742414 Belgique
Durand Léa 35 léa.durand@example.com 0033 022419 France
Durand Chloé 44 chloé.durand@example.com 0032 682619 Belgique
Durand Julie 22 julie.durand@example.com 0033 483764 France
Laurent Julie 20 julie.laurent@example.com 0032 155024 Belgique
Laurent Pauline 24 pauline.laurent@example.com 0033 724233 France
Laurent Julie 44 julie.laurent@example.com 00352 656281 Luxembourg
Laurent Victoire 27 victoire.laurent@example.com 0032 131264 Belgique
Martin Pauline 26 pauline.martin@example.com 0033 842363 France
Martin Emilie 39 emilie.martin@example.com 0033 497430 France
Martin Julie 27 julie.martin@example.com 00352 497470 Luxembourg
Martin Amélie 36 amélie.martin@example.com 0033 993121 France
Martin Julie 21 julie.martin@example.com 0033 195023 France
Moreau Amélie 42 amélie.moreau@example.com 0032 368492 Belgique
Moreau Chloé 21 chloé.moreau@example.com 0033 704069 France
Moreau Emilie 18 emilie.moreau@example.com 0032 802512 Belgique
Moreau Emilie 18 emilie.moreau@example.com 0033 706146 France
Moreau Amélie 39 amélie.moreau@example.com 00352 906674 Luxembourg
Moreau Mathilde 35 mathilde.moreau@example.com 0032 908168 Belgique
Petit Louise 35 louise.petit@example.com 0032 538290 Belgique
Petit Victoire 24 victoire.petit@example.com 0033 697119 France
Petit Victoire 41 victoire.petit@example.com 00352 439224 Luxembourg
Richard Amélie 43 amélie.richard@example.com 0033 560533 France
Richard Victoire 27 victoire.richard@example.com 00352 304431 Luxembourg
Robert Emilie 28 emilie.robert@example.com 0032 259360 Belgique
Robert Pauline 18 pauline.robert@example.com 0032 941199 Belgique
Robert Chloé 38 chloé.robert@example.com 00352 149231 Luxembourg
Robert Chloé 36 chloé.robert@example.com 0032 675438 Belgique
Robert Louise 42 louise.robert@example.com 00352 144896 Luxembourg
Robert Chloé 37 chloé.robert@example.com 0032 149493 Belgique
Robert Emilie 41 emilie.robert@example.com 0033 777813 France
Simon Camille 19 camille.simon@example.com 0032 228852 Belgique
Simon Julie 19 julie.simon@example.com 0033 104724 France
Simon Louise 44 louise.simon@example.com 00352 858046 Luxembourg
Simon Amélie 29 amélie.simon@example.com 0032 961925 Belgique
Simon Victoire 37 victoire.simon@example.com 00352 073900 Luxembourg
Simon Camille 24 camille.simon@example.com 00352 988903 Luxembourg
Simon Camille 31 camille.simon@example.com 0032 769623 Belgique
Simon Chloé 30 chloé.simon@example.com 0032 167399 Belgique
Thomas Chloé 30 chloé.thomas@example.com 0033 905729 France
Thomas Chloé 23 chloé.thomas@example.com 0032 468073 Belgique
Thomas Chloé 28 chloé.thomas@example.com 0033 522238 France
Thomas Mathilde 29 mathilde.thomas@example.com 00352 399318 Luxembourg
Thomas Mathilde 18 mathilde.thomas@example.com 0033 239263 France
Thomas Amélie 38 amélie.thomas@example.com 0033 060571 France
Thomas Julie 31 julie.thomas@example.com 00352 635295 Luxembourg