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 36 victoire.laurent@example.com 00352 919077 Luxembourg
Dubois Victoire 45 victoire.dubois@example.com 0033 135474 France
Moreau Victoire 31 victoire.moreau@example.com 00352 131563 Luxembourg
Richard Victoire 31 victoire.richard@example.com 0032 684998 Belgique
Robert Victoire 41 victoire.robert@example.com 0033 238836 France
Laurent Pauline 28 pauline.laurent@example.com 0033 198179 France
Durand Pauline 23 pauline.durand@example.com 0033 597522 France
Robert Pauline 26 pauline.robert@example.com 0033 069657 France
Simon Pauline 18 pauline.simon@example.com 0033 274015 France
Petit Pauline 30 pauline.petit@example.com 0032 093814 Belgique
Thomas Pauline 29 pauline.thomas@example.com 0032 903778 Belgique
Richard Pauline 26 pauline.richard@example.com 00352 865148 Luxembourg
Thomas Mathilde 40 mathilde.thomas@example.com 0032 797695 Belgique
Martin Mathilde 28 mathilde.martin@example.com 0032 349657 Belgique
Simon Léa 43 léa.simon@example.com 0032 885002 Belgique
Petit Léa 24 léa.petit@example.com 00352 412881 Luxembourg
Thomas Léa 39 léa.thomas@example.com 0032 187373 Belgique
Simon Léa 27 léa.simon@example.com 0032 010966 Belgique
Durand Louise 32 louise.durand@example.com 00352 182568 Luxembourg
Laurent Louise 43 louise.laurent@example.com 0032 724219 Belgique
Robert Louise 19 louise.robert@example.com 0032 074442 Belgique
Dubois Louise 28 louise.dubois@example.com 0033 758699 France
Laurent Louise 44 louise.laurent@example.com 0032 207590 Belgique
Robert Julie 23 julie.robert@example.com 00352 367645 Luxembourg
Robert Julie 28 julie.robert@example.com 0033 010981 France
Martin Julie 41 julie.martin@example.com 00352 147580 Luxembourg
Moreau Julie 20 julie.moreau@example.com 0033 127007 France
Martin Julie 40 julie.martin@example.com 0032 825677 Belgique
Simon Emilie 30 emilie.simon@example.com 0033 826637 France
Richard Emilie 39 emilie.richard@example.com 00352 445422 Luxembourg
Moreau Emilie 28 emilie.moreau@example.com 0032 180436 Belgique
Robert Emilie 33 emilie.robert@example.com 0032 152494 Belgique
Martin Emilie 33 emilie.martin@example.com 0032 060642 Belgique
Moreau Emilie 34 emilie.moreau@example.com 0033 553421 France
Simon Chloé 42 chloé.simon@example.com 0032 178945 Belgique
Moreau Chloé 41 chloé.moreau@example.com 0032 990539 Belgique
Thomas Chloé 37 chloé.thomas@example.com 0032 414961 Belgique
Durand Chloé 45 chloé.durand@example.com 00352 165853 Luxembourg
Simon Chloé 34 chloé.simon@example.com 0032 591835 Belgique
Durand Chloé 43 chloé.durand@example.com 0032 522755 Belgique
Richard Camille 39 camille.richard@example.com 00352 662412 Luxembourg
Durand Camille 23 camille.durand@example.com 0032 745068 Belgique
Laurent Camille 25 camille.laurent@example.com 00352 545986 Luxembourg
Simon Amélie 34 amélie.simon@example.com 00352 887093 Luxembourg
Robert Amélie 23 amélie.robert@example.com 0032 872360 Belgique
Simon Amélie 30 amélie.simon@example.com 0033 796940 France
Thomas Amélie 25 amélie.thomas@example.com 00352 610635 Luxembourg
Thomas Amélie 33 amélie.thomas@example.com 00352 298639 Luxembourg
Richard Amélie 23 amélie.richard@example.com 0033 019125 France
Petit Amélie 37 amélie.petit@example.com 00352 937135 Luxembourg