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 Victoire 35 victoire.simon@example.com 00352 978570 Luxembourg
Moreau Victoire 35 victoire.moreau@example.com 00352 216732 Luxembourg
Martin Victoire 23 victoire.martin@example.com 00352 916938 Luxembourg
Martin Victoire 38 victoire.martin@example.com 0033 935389 France
Dubois Victoire 35 victoire.dubois@example.com 0032 024881 Belgique
Simon Pauline 38 pauline.simon@example.com 0032 018464 Belgique
Robert Pauline 25 pauline.robert@example.com 0033 475621 France
Richard Pauline 34 pauline.richard@example.com 00352 515002 Luxembourg
Moreau Pauline 40 pauline.moreau@example.com 0033 419407 France
Martin Pauline 35 pauline.martin@example.com 0032 141944 Belgique
Dubois Pauline 35 pauline.dubois@example.com 00352 349382 Luxembourg
Dubois Pauline 31 pauline.dubois@example.com 00352 743204 Luxembourg
Thomas Mathilde 43 mathilde.thomas@example.com 0033 856416 France
Richard Mathilde 24 mathilde.richard@example.com 0032 700301 Belgique
Petit Mathilde 34 mathilde.petit@example.com 0032 824844 Belgique
Petit Mathilde 38 mathilde.petit@example.com 0032 431572 Belgique
Martin Mathilde 23 mathilde.martin@example.com 00352 123929 Luxembourg
Durand Mathilde 33 mathilde.durand@example.com 0033 345146 France
Dubois Mathilde 45 mathilde.dubois@example.com 0032 336096 Belgique
Laurent Léa 21 léa.laurent@example.com 0033 857185 France
Richard Louise 38 louise.richard@example.com 00352 155729 Luxembourg
Moreau Louise 22 louise.moreau@example.com 0032 070808 Belgique
Martin Louise 40 louise.martin@example.com 0032 296537 Belgique
Laurent Louise 31 louise.laurent@example.com 0032 649783 Belgique
Dubois Louise 24 louise.dubois@example.com 0033 989321 France
Dubois Louise 30 louise.dubois@example.com 0032 954939 Belgique
Dubois Louise 44 louise.dubois@example.com 00352 449543 Luxembourg
Simon Julie 38 julie.simon@example.com 00352 903511 Luxembourg
Robert Julie 38 julie.robert@example.com 0033 143699 France
Richard Julie 42 julie.richard@example.com 0032 679889 Belgique
Durand Julie 18 julie.durand@example.com 0033 901471 France
Petit Emilie 43 emilie.petit@example.com 0033 250401 France
Martin Emilie 21 emilie.martin@example.com 0033 186891 France
Laurent Emilie 25 emilie.laurent@example.com 0032 632521 Belgique
Dubois Emilie 36 emilie.dubois@example.com 0033 710075 France
Simon Chloé 22 chloé.simon@example.com 0032 878561 Belgique
Simon Chloé 29 chloé.simon@example.com 0032 296470 Belgique
Robert Chloé 28 chloé.robert@example.com 00352 629344 Luxembourg
Richard Chloé 45 chloé.richard@example.com 00352 076340 Luxembourg
Petit Chloé 36 chloé.petit@example.com 00352 977406 Luxembourg
Laurent Chloé 41 chloé.laurent@example.com 0032 793831 Belgique
Dubois Chloé 30 chloé.dubois@example.com 0033 617897 France
Robert Camille 28 camille.robert@example.com 0032 990272 Belgique
Richard Camille 29 camille.richard@example.com 00352 872646 Luxembourg
Petit Camille 36 camille.petit@example.com 0032 907018 Belgique
Simon Amélie 36 amélie.simon@example.com 0033 695846 France
Moreau Amélie 44 amélie.moreau@example.com 0033 535288 France
Martin Amélie 27 amélie.martin@example.com 0033 162492 France
Martin Amélie 25 amélie.martin@example.com 0033 974335 France
Durand Amélie 23 amélie.durand@example.com 0033 323934 France