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
Martin Pauline 18 pauline.martin@example.com 0033 047462 France
Durand Julie 18 julie.durand@example.com 0033 342543 France
Robert Emilie 18 emilie.robert@example.com 0033 988482 France
Martin Pauline 19 pauline.martin@example.com 0032 599562 Belgique
Simon Julie 19 julie.simon@example.com 00352 973191 Luxembourg
Dubois Louise 19 louise.dubois@example.com 0032 163403 Belgique
Martin Emilie 19 emilie.martin@example.com 00352 382682 Luxembourg
Richard Mathilde 20 mathilde.richard@example.com 00352 634022 Luxembourg
Dubois Chloé 20 chloé.dubois@example.com 0032 169675 Belgique
Thomas Léa 21 léa.thomas@example.com 0033 483811 France
Thomas Mathilde 21 mathilde.thomas@example.com 00352 108020 Luxembourg
Simon Emilie 21 emilie.simon@example.com 00352 913280 Luxembourg
Petit Julie 22 julie.petit@example.com 00352 501596 Luxembourg
Thomas Louise 22 louise.thomas@example.com 00352 512081 Luxembourg
Martin Chloé 22 chloé.martin@example.com 0032 905989 Belgique
Durand Pauline 22 pauline.durand@example.com 0033 957653 France
Simon Emilie 22 emilie.simon@example.com 0033 026694 France
Durand Victoire 22 victoire.durand@example.com 0032 064179 Belgique
Martin Victoire 25 victoire.martin@example.com 0032 770413 Belgique
Moreau Amélie 26 amélie.moreau@example.com 0032 319546 Belgique
Robert Chloé 27 chloé.robert@example.com 0032 533027 Belgique
Thomas Louise 28 louise.thomas@example.com 0033 574988 France
Laurent Julie 29 julie.laurent@example.com 0032 218864 Belgique
Moreau Louise 29 louise.moreau@example.com 0032 073722 Belgique
Simon Julie 30 julie.simon@example.com 0033 639609 France
Durand Emilie 30 emilie.durand@example.com 00352 026847 Luxembourg
Martin Julie 32 julie.martin@example.com 0032 595507 Belgique
Simon Chloé 32 chloé.simon@example.com 00352 851800 Luxembourg
Petit Amélie 33 amélie.petit@example.com 0032 072306 Belgique
Laurent Victoire 34 victoire.laurent@example.com 00352 093434 Luxembourg
Dubois Léa 35 léa.dubois@example.com 00352 869227 Luxembourg
Dubois Louise 36 louise.dubois@example.com 0033 986922 France
Dubois Léa 37 léa.dubois@example.com 00352 033812 Luxembourg
Moreau Victoire 38 victoire.moreau@example.com 0033 950759 France
Simon Chloé 38 chloé.simon@example.com 00352 464060 Luxembourg
Simon Julie 38 julie.simon@example.com 0033 885514 France
Petit Amélie 38 amélie.petit@example.com 0033 119343 France
Dubois Amélie 38 amélie.dubois@example.com 0033 935271 France
Petit Léa 38 léa.petit@example.com 0033 420229 France
Dubois Louise 39 louise.dubois@example.com 0033 491578 France
Petit Louise 39 louise.petit@example.com 0032 108987 Belgique
Martin Louise 39 louise.martin@example.com 0032 894831 Belgique
Richard Léa 40 léa.richard@example.com 0032 831119 Belgique
Petit Léa 40 léa.petit@example.com 0033 582778 France
Martin Amélie 41 amélie.martin@example.com 0033 596069 France
Richard Camille 41 camille.richard@example.com 00352 996910 Luxembourg
Richard Julie 43 julie.richard@example.com 00352 372273 Luxembourg
Durand Emilie 43 emilie.durand@example.com 00352 355782 Luxembourg
Durand Léa 43 léa.durand@example.com 00352 359129 Luxembourg
Laurent Camille 43 camille.laurent@example.com 0033 630987 France