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 Mathilde 39 mathilde.simon@example.com 00352 922328 Luxembourg
Richard Pauline 19 pauline.richard@example.com 00352 888331 Luxembourg
Durand Emilie 19 emilie.durand@example.com 00352 877785 Luxembourg
Martin Julie 37 julie.martin@example.com 00352 867432 Luxembourg
Laurent Julie 31 julie.laurent@example.com 00352 653542 Luxembourg
Martin Camille 41 camille.martin@example.com 00352 594800 Luxembourg
Laurent Louise 35 louise.laurent@example.com 00352 566574 Luxembourg
Thomas Camille 45 camille.thomas@example.com 00352 539116 Luxembourg
Moreau Mathilde 30 mathilde.moreau@example.com 00352 472080 Luxembourg
Dubois Mathilde 43 mathilde.dubois@example.com 00352 408944 Luxembourg
Durand Camille 45 camille.durand@example.com 00352 337941 Luxembourg
Petit Louise 19 louise.petit@example.com 00352 336390 Luxembourg
Moreau Léa 28 léa.moreau@example.com 00352 331205 Luxembourg
Durand Emilie 41 emilie.durand@example.com 00352 266177 Luxembourg
Laurent Mathilde 40 mathilde.laurent@example.com 00352 259399 Luxembourg
Petit Pauline 43 pauline.petit@example.com 00352 172137 Luxembourg
Simon Julie 23 julie.simon@example.com 00352 167536 Luxembourg
Dubois Amélie 31 amélie.dubois@example.com 00352 166431 Luxembourg
Simon Mathilde 34 mathilde.simon@example.com 00352 148029 Luxembourg
Laurent Mathilde 21 mathilde.laurent@example.com 0033 983701 France
Moreau Pauline 34 pauline.moreau@example.com 0033 917369 France
Simon Chloé 31 chloé.simon@example.com 0033 801308 France
Simon Louise 32 louise.simon@example.com 0033 776688 France
Laurent Camille 37 camille.laurent@example.com 0033 643898 France
Durand Chloé 24 chloé.durand@example.com 0033 618876 France
Richard Pauline 25 pauline.richard@example.com 0033 609594 France
Simon Victoire 26 victoire.simon@example.com 0033 570660 France
Robert Chloé 34 chloé.robert@example.com 0033 523814 France
Richard Camille 29 camille.richard@example.com 0033 512707 France
Thomas Camille 21 camille.thomas@example.com 0033 401171 France
Moreau Amélie 19 amélie.moreau@example.com 0033 173081 France
Simon Louise 32 louise.simon@example.com 0033 128555 France
Petit Julie 20 julie.petit@example.com 0033 081969 France
Robert Julie 36 julie.robert@example.com 0033 077537 France
Dubois Pauline 32 pauline.dubois@example.com 0033 049897 France
Petit Léa 21 léa.petit@example.com 0032 955938 Belgique
Martin Léa 45 léa.martin@example.com 0032 896618 Belgique
Laurent Amélie 37 amélie.laurent@example.com 0032 800863 Belgique
Petit Amélie 42 amélie.petit@example.com 0032 762567 Belgique
Thomas Amélie 18 amélie.thomas@example.com 0032 753292 Belgique
Robert Emilie 38 emilie.robert@example.com 0032 741195 Belgique
Robert Pauline 40 pauline.robert@example.com 0032 649950 Belgique
Martin Mathilde 40 mathilde.martin@example.com 0032 601938 Belgique
Durand Pauline 44 pauline.durand@example.com 0032 333522 Belgique
Simon Emilie 35 emilie.simon@example.com 0032 255258 Belgique
Petit Amélie 35 amélie.petit@example.com 0032 209536 Belgique
Richard Mathilde 30 mathilde.richard@example.com 0032 195435 Belgique
Simon Camille 28 camille.simon@example.com 0032 102863 Belgique
Moreau Louise 21 louise.moreau@example.com 0032 101084 Belgique
Moreau Julie 42 julie.moreau@example.com 0032 076824 Belgique