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 Amélie 29 amélie.simon@example.com 00352 621111 Luxembourg
Richard Amélie 37 amélie.richard@example.com 0033 565746 France
Moreau Amélie 20 amélie.moreau@example.com 0032 893584 Belgique
Laurent Amélie 28 amélie.laurent@example.com 0033 165538 France
Moreau Amélie 22 amélie.moreau@example.com 0033 764102 France
Thomas Camille 43 camille.thomas@example.com 00352 169653 Luxembourg
Robert Camille 25 camille.robert@example.com 00352 632661 Luxembourg
Durand Camille 42 camille.durand@example.com 0032 270812 Belgique
Moreau Camille 31 camille.moreau@example.com 00352 068219 Luxembourg
Petit Camille 41 camille.petit@example.com 0032 655059 Belgique
Dubois Camille 20 camille.dubois@example.com 00352 786673 Luxembourg
Laurent Chloé 23 chloé.laurent@example.com 0033 682717 France
Petit Chloé 45 chloé.petit@example.com 0033 663909 France
Robert Chloé 39 chloé.robert@example.com 0032 152053 Belgique
Simon Chloé 22 chloé.simon@example.com 00352 737643 Luxembourg
Thomas Chloé 30 chloé.thomas@example.com 0032 048001 Belgique
Durand Chloé 37 chloé.durand@example.com 0033 390290 France
Dubois Chloé 38 chloé.dubois@example.com 00352 930747 Luxembourg
Dubois Emilie 44 emilie.dubois@example.com 00352 432521 Luxembourg
Martin Emilie 22 emilie.martin@example.com 0032 317839 Belgique
Moreau Emilie 45 emilie.moreau@example.com 00352 548593 Luxembourg
Robert Emilie 20 emilie.robert@example.com 00352 511865 Luxembourg
Laurent Emilie 22 emilie.laurent@example.com 00352 893943 Luxembourg
Simon Emilie 27 emilie.simon@example.com 00352 041129 Luxembourg
Thomas Emilie 33 emilie.thomas@example.com 0032 967677 Belgique
Simon Emilie 28 emilie.simon@example.com 0032 605002 Belgique
Moreau Emilie 41 emilie.moreau@example.com 0033 907192 France
Robert Julie 23 julie.robert@example.com 0033 572055 France
Dubois Julie 43 julie.dubois@example.com 0033 519220 France
Thomas Julie 40 julie.thomas@example.com 00352 044607 Luxembourg
Martin Louise 33 louise.martin@example.com 00352 399796 Luxembourg
Petit Léa 27 léa.petit@example.com 00352 202643 Luxembourg
Durand Léa 29 léa.durand@example.com 0033 648492 France
Martin Léa 43 léa.martin@example.com 0033 978712 France
Dubois Mathilde 38 mathilde.dubois@example.com 0033 256366 France
Simon Mathilde 30 mathilde.simon@example.com 0033 877881 France
Durand Mathilde 40 mathilde.durand@example.com 0033 143759 France
Simon Mathilde 19 mathilde.simon@example.com 0033 309303 France
Martin Mathilde 43 mathilde.martin@example.com 0033 822286 France
Moreau Mathilde 35 mathilde.moreau@example.com 0032 978396 Belgique
Robert Pauline 28 pauline.robert@example.com 0032 635378 Belgique
Moreau Pauline 45 pauline.moreau@example.com 00352 813728 Luxembourg
Petit Pauline 38 pauline.petit@example.com 0033 184787 France
Petit Pauline 28 pauline.petit@example.com 0033 441488 France
Simon Pauline 19 pauline.simon@example.com 00352 871444 Luxembourg
Petit Victoire 31 victoire.petit@example.com 00352 676251 Luxembourg
Laurent Victoire 43 victoire.laurent@example.com 00352 035789 Luxembourg
Petit Victoire 36 victoire.petit@example.com 0032 230114 Belgique
Simon Victoire 42 victoire.simon@example.com 0033 179195 France
Martin Victoire 28 victoire.martin@example.com 00352 674966 Luxembourg