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
Simon Pauline 18 pauline.simon@example.com 0033 430926 France
Richard Amélie 19 amélie.richard@example.com 0032 368462 Belgique
Thomas Camille 19 camille.thomas@example.com 00352 044120 Luxembourg
Richard Chloé 19 chloé.richard@example.com 0033 757854 France
Moreau Amélie 19 amélie.moreau@example.com 0032 621524 Belgique
Thomas Emilie 19 emilie.thomas@example.com 0032 948861 Belgique
Dubois Mathilde 20 mathilde.dubois@example.com 0032 254616 Belgique
Durand Camille 20 camille.durand@example.com 0032 852796 Belgique
Petit Mathilde 21 mathilde.petit@example.com 0032 382028 Belgique
Richard Julie 21 julie.richard@example.com 0033 358462 France
Petit Emilie 22 emilie.petit@example.com 00352 440112 Luxembourg
Dubois Chloé 22 chloé.dubois@example.com 0033 556956 France
Thomas Chloé 23 chloé.thomas@example.com 00352 105640 Luxembourg
Laurent Léa 23 léa.laurent@example.com 00352 187618 Luxembourg
Thomas Pauline 24 pauline.thomas@example.com 0033 539039 France
Simon Amélie 24 amélie.simon@example.com 0032 381614 Belgique
Simon Victoire 24 victoire.simon@example.com 0032 245017 Belgique
Durand Julie 24 julie.durand@example.com 0033 066504 France
Durand Louise 24 louise.durand@example.com 00352 886241 Luxembourg
Thomas Victoire 26 victoire.thomas@example.com 0033 821875 France
Durand Léa 26 léa.durand@example.com 0033 470778 France
Durand Mathilde 27 mathilde.durand@example.com 00352 361419 Luxembourg
Richard Mathilde 27 mathilde.richard@example.com 0032 523233 Belgique
Robert Louise 30 louise.robert@example.com 0033 249477 France
Durand Chloé 31 chloé.durand@example.com 0032 362183 Belgique
Robert Camille 32 camille.robert@example.com 0032 380914 Belgique
Petit Julie 32 julie.petit@example.com 00352 564655 Luxembourg
Simon Amélie 33 amélie.simon@example.com 0033 761401 France
Simon Pauline 34 pauline.simon@example.com 00352 226838 Luxembourg
Durand Léa 35 léa.durand@example.com 0033 384151 France
Petit Chloé 35 chloé.petit@example.com 0032 786534 Belgique
Thomas Julie 36 julie.thomas@example.com 0032 484071 Belgique
Robert Mathilde 36 mathilde.robert@example.com 00352 318524 Luxembourg
Moreau Pauline 36 pauline.moreau@example.com 00352 315690 Luxembourg
Martin Mathilde 36 mathilde.martin@example.com 0032 949635 Belgique
Richard Julie 38 julie.richard@example.com 00352 809895 Luxembourg
Petit Pauline 38 pauline.petit@example.com 00352 636427 Luxembourg
Robert Victoire 38 victoire.robert@example.com 00352 833519 Luxembourg
Thomas Victoire 39 victoire.thomas@example.com 00352 235688 Luxembourg
Laurent Pauline 40 pauline.laurent@example.com 00352 060152 Luxembourg
Durand Chloé 40 chloé.durand@example.com 0032 575794 Belgique
Simon Chloé 40 chloé.simon@example.com 0032 523941 Belgique
Simon Amélie 41 amélie.simon@example.com 00352 565101 Luxembourg
Robert Léa 41 léa.robert@example.com 0032 794420 Belgique
Laurent Léa 41 léa.laurent@example.com 00352 740308 Luxembourg
Robert Victoire 44 victoire.robert@example.com 0032 889356 Belgique
Laurent Camille 44 camille.laurent@example.com 00352 621510 Luxembourg
Martin Mathilde 45 mathilde.martin@example.com 0033 132945 France
Moreau Léa 45 léa.moreau@example.com 00352 879786 Luxembourg
Durand Pauline 45 pauline.durand@example.com 0033 573138 France