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 Chloé 18 chloé.martin@example.com 0033 826445 France
Durand Mathilde 18 mathilde.durand@example.com 00352 443914 Luxembourg
Moreau Léa 18 léa.moreau@example.com 0033 288738 France
Petit Camille 20 camille.petit@example.com 0033 344570 France
Laurent Léa 20 léa.laurent@example.com 0033 068413 France
Robert Chloé 20 chloé.robert@example.com 00352 337184 Luxembourg
Durand Julie 20 julie.durand@example.com 0032 506682 Belgique
Durand Camille 21 camille.durand@example.com 00352 521678 Luxembourg
Dubois Léa 21 léa.dubois@example.com 00352 923475 Luxembourg
Richard Julie 21 julie.richard@example.com 0033 461216 France
Richard Pauline 22 pauline.richard@example.com 00352 268514 Luxembourg
Dubois Camille 22 camille.dubois@example.com 0032 442000 Belgique
Richard Louise 22 louise.richard@example.com 0033 940571 France
Moreau Julie 23 julie.moreau@example.com 0032 233444 Belgique
Richard Emilie 24 emilie.richard@example.com 00352 572243 Luxembourg
Moreau Emilie 24 emilie.moreau@example.com 0032 297889 Belgique
Robert Léa 24 léa.robert@example.com 0032 230512 Belgique
Robert Chloé 25 chloé.robert@example.com 0033 603376 France
Martin Mathilde 25 mathilde.martin@example.com 0032 432493 Belgique
Moreau Léa 25 léa.moreau@example.com 00352 809885 Luxembourg
Richard Louise 25 louise.richard@example.com 00352 886947 Luxembourg
Martin Victoire 26 victoire.martin@example.com 00352 662219 Luxembourg
Richard Léa 26 léa.richard@example.com 0032 559333 Belgique
Dubois Amélie 27 amélie.dubois@example.com 00352 959263 Luxembourg
Martin Louise 27 louise.martin@example.com 00352 333819 Luxembourg
Moreau Victoire 28 victoire.moreau@example.com 0032 947101 Belgique
Durand Louise 29 louise.durand@example.com 00352 120931 Luxembourg
Durand Chloé 29 chloé.durand@example.com 0032 741063 Belgique
Moreau Pauline 29 pauline.moreau@example.com 0033 686896 France
Petit Pauline 30 pauline.petit@example.com 0032 363992 Belgique
Moreau Julie 30 julie.moreau@example.com 0032 127972 Belgique
Simon Mathilde 31 mathilde.simon@example.com 00352 733808 Luxembourg
Durand Mathilde 33 mathilde.durand@example.com 0033 183672 France
Robert Chloé 34 chloé.robert@example.com 0032 288997 Belgique
Martin Camille 34 camille.martin@example.com 0033 480315 France
Robert Amélie 34 amélie.robert@example.com 0033 845129 France
Thomas Chloé 35 chloé.thomas@example.com 0032 607058 Belgique
Petit Victoire 37 victoire.petit@example.com 0032 109915 Belgique
Martin Camille 37 camille.martin@example.com 0033 145616 France
Thomas Chloé 37 chloé.thomas@example.com 0033 692534 France
Laurent Camille 37 camille.laurent@example.com 0032 266127 Belgique
Laurent Chloé 38 chloé.laurent@example.com 0033 708335 France
Dubois Victoire 38 victoire.dubois@example.com 0032 123516 Belgique
Simon Chloé 38 chloé.simon@example.com 00352 676978 Luxembourg
Thomas Camille 39 camille.thomas@example.com 0032 290604 Belgique
Laurent Victoire 44 victoire.laurent@example.com 0033 340812 France
Simon Amélie 44 amélie.simon@example.com 0032 414982 Belgique
Dubois Pauline 44 pauline.dubois@example.com 0033 230849 France
Richard Léa 44 léa.richard@example.com 0033 318979 France
Thomas Camille 44 camille.thomas@example.com 0033 233054 France