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 Victoire 43 victoire.martin@example.com 00352 829975 Luxembourg
Moreau Victoire 21 victoire.moreau@example.com 0033 116620 France
Durand Victoire 42 victoire.durand@example.com 0033 856394 France
Martin Victoire 23 victoire.martin@example.com 0032 979584 Belgique
Petit Victoire 25 victoire.petit@example.com 0032 119620 Belgique
Martin Victoire 20 victoire.martin@example.com 00352 239091 Luxembourg
Robert Pauline 20 pauline.robert@example.com 00352 667438 Luxembourg
Laurent Pauline 41 pauline.laurent@example.com 0032 522358 Belgique
Laurent Pauline 19 pauline.laurent@example.com 0032 088881 Belgique
Simon Pauline 22 pauline.simon@example.com 00352 181660 Luxembourg
Laurent Pauline 26 pauline.laurent@example.com 00352 412725 Luxembourg
Petit Mathilde 32 mathilde.petit@example.com 0032 717505 Belgique
Thomas Mathilde 25 mathilde.thomas@example.com 0032 291363 Belgique
Laurent Mathilde 30 mathilde.laurent@example.com 0032 198673 Belgique
Petit Mathilde 21 mathilde.petit@example.com 00352 639304 Luxembourg
Laurent Mathilde 20 mathilde.laurent@example.com 0033 851729 France
Moreau Léa 35 léa.moreau@example.com 0032 246293 Belgique
Laurent Léa 40 léa.laurent@example.com 0032 515204 Belgique
Robert Léa 43 léa.robert@example.com 0032 434601 Belgique
Thomas Léa 43 léa.thomas@example.com 0033 866868 France
Moreau Léa 34 léa.moreau@example.com 0033 425017 France
Thomas Louise 43 louise.thomas@example.com 0033 122605 France
Richard Louise 44 louise.richard@example.com 0032 252132 Belgique
Martin Louise 28 louise.martin@example.com 0032 514750 Belgique
Richard Louise 29 louise.richard@example.com 00352 178138 Luxembourg
Petit Louise 39 louise.petit@example.com 0033 936997 France
Robert Julie 30 julie.robert@example.com 0033 641729 France
Laurent Julie 22 julie.laurent@example.com 0032 152915 Belgique
Thomas Julie 23 julie.thomas@example.com 00352 486757 Luxembourg
Simon Julie 32 julie.simon@example.com 0033 818668 France
Durand Emilie 35 emilie.durand@example.com 0033 083059 France
Petit Emilie 36 emilie.petit@example.com 0032 512845 Belgique
Martin Emilie 35 emilie.martin@example.com 0033 279395 France
Dubois Emilie 20 emilie.dubois@example.com 0033 045473 France
Martin Emilie 39 emilie.martin@example.com 00352 312605 Luxembourg
Petit Emilie 35 emilie.petit@example.com 00352 524351 Luxembourg
Robert Emilie 39 emilie.robert@example.com 0033 239588 France
Robert Emilie 39 emilie.robert@example.com 0032 013625 Belgique
Dubois Chloé 43 chloé.dubois@example.com 0032 946528 Belgique
Simon Chloé 32 chloé.simon@example.com 0032 145409 Belgique
Dubois Chloé 24 chloé.dubois@example.com 0033 681260 France
Petit Camille 23 camille.petit@example.com 0033 331632 France
Richard Camille 21 camille.richard@example.com 00352 381786 Luxembourg
Durand Amélie 25 amélie.durand@example.com 0032 434321 Belgique
Thomas Amélie 27 amélie.thomas@example.com 0032 402249 Belgique
Dubois Amélie 26 amélie.dubois@example.com 0033 620667 France
Richard Amélie 27 amélie.richard@example.com 00352 040995 Luxembourg
Dubois Amélie 35 amélie.dubois@example.com 0032 983528 Belgique
Dubois Amélie 39 amélie.dubois@example.com 0033 977658 France
Petit Amélie 39 amélie.petit@example.com 0033 316265 France