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
Thomas Pauline 23 pauline.thomas@example.com 00352 948589 Luxembourg
Thomas Victoire 24 victoire.thomas@example.com 00352 797654 Luxembourg
Petit Emilie 27 emilie.petit@example.com 00352 782554 Luxembourg
Laurent Léa 23 léa.laurent@example.com 00352 768605 Luxembourg
Laurent Amélie 42 amélie.laurent@example.com 00352 681478 Luxembourg
Martin Léa 42 léa.martin@example.com 00352 645925 Luxembourg
Simon Victoire 25 victoire.simon@example.com 00352 572272 Luxembourg
Durand Chloé 23 chloé.durand@example.com 00352 442513 Luxembourg
Moreau Mathilde 19 mathilde.moreau@example.com 00352 317897 Luxembourg
Dubois Léa 25 léa.dubois@example.com 00352 272655 Luxembourg
Laurent Louise 31 louise.laurent@example.com 00352 268405 Luxembourg
Dubois Julie 18 julie.dubois@example.com 00352 252622 Luxembourg
Thomas Julie 33 julie.thomas@example.com 00352 224523 Luxembourg
Durand Emilie 21 emilie.durand@example.com 00352 153771 Luxembourg
Durand Camille 23 camille.durand@example.com 00352 139841 Luxembourg
Durand Camille 34 camille.durand@example.com 00352 133657 Luxembourg
Moreau Camille 30 camille.moreau@example.com 00352 071564 Luxembourg
Laurent Chloé 22 chloé.laurent@example.com 00352 016096 Luxembourg
Petit Amélie 42 amélie.petit@example.com 0033 979280 France
Durand Pauline 27 pauline.durand@example.com 0033 932852 France
Laurent Mathilde 38 mathilde.laurent@example.com 0033 906631 France
Petit Emilie 44 emilie.petit@example.com 0033 899031 France
Thomas Léa 45 léa.thomas@example.com 0033 875788 France
Thomas Amélie 31 amélie.thomas@example.com 0033 773340 France
Richard Chloé 28 chloé.richard@example.com 0033 756026 France
Thomas Amélie 33 amélie.thomas@example.com 0033 719449 France
Durand Louise 38 louise.durand@example.com 0033 655901 France
Thomas Amélie 37 amélie.thomas@example.com 0033 590524 France
Thomas Pauline 27 pauline.thomas@example.com 0033 549022 France
Moreau Pauline 42 pauline.moreau@example.com 0033 478110 France
Martin Emilie 31 emilie.martin@example.com 0033 472107 France
Thomas Amélie 29 amélie.thomas@example.com 0033 455630 France
Robert Mathilde 31 mathilde.robert@example.com 0033 253537 France
Durand Mathilde 38 mathilde.durand@example.com 0033 230945 France
Martin Mathilde 39 mathilde.martin@example.com 0033 086222 France
Robert Mathilde 19 mathilde.robert@example.com 0033 079074 France
Laurent Louise 18 louise.laurent@example.com 0033 057051 France
Robert Julie 40 julie.robert@example.com 0032 979250 Belgique
Laurent Louise 22 louise.laurent@example.com 0032 973712 Belgique
Moreau Pauline 38 pauline.moreau@example.com 0032 929659 Belgique
Moreau Amélie 45 amélie.moreau@example.com 0032 851327 Belgique
Richard Victoire 35 victoire.richard@example.com 0032 751861 Belgique
Durand Mathilde 28 mathilde.durand@example.com 0032 746330 Belgique
Robert Pauline 39 pauline.robert@example.com 0032 601413 Belgique
Dubois Chloé 42 chloé.dubois@example.com 0032 504166 Belgique
Martin Léa 24 léa.martin@example.com 0032 454927 Belgique
Simon Léa 21 léa.simon@example.com 0032 414899 Belgique
Richard Camille 26 camille.richard@example.com 0032 348861 Belgique
Petit Julie 44 julie.petit@example.com 0032 264277 Belgique
Simon Louise 23 louise.simon@example.com 0032 257810 Belgique