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
Moreau Julie 43 julie.moreau@example.com 00352 410415 Luxembourg
Dubois Amélie 33 amélie.dubois@example.com 00352 780436 Luxembourg
Richard Camille 18 camille.richard@example.com 00352 310881 Luxembourg
Robert Camille 27 camille.robert@example.com 00352 712597 Luxembourg
Laurent Chloé 42 chloé.laurent@example.com 00352 622494 Luxembourg
Moreau Louise 43 louise.moreau@example.com 00352 338075 Luxembourg
Durand Chloé 33 chloé.durand@example.com 00352 375799 Luxembourg
Simon Amélie 41 amélie.simon@example.com 00352 163433 Luxembourg
Martin Victoire 29 victoire.martin@example.com 00352 147874 Luxembourg
Moreau Emilie 45 emilie.moreau@example.com 00352 577352 Luxembourg
Petit Julie 35 julie.petit@example.com 00352 353006 Luxembourg
Robert Amélie 42 amélie.robert@example.com 00352 172611 Luxembourg
Durand Amélie 41 amélie.durand@example.com 00352 550755 Luxembourg
Durand Emilie 23 emilie.durand@example.com 00352 671415 Luxembourg
Laurent Emilie 32 emilie.laurent@example.com 0033 943341 France
Martin Louise 19 louise.martin@example.com 0033 517798 France
Martin Léa 36 léa.martin@example.com 0033 467978 France
Thomas Mathilde 38 mathilde.thomas@example.com 0033 510856 France
Thomas Emilie 35 emilie.thomas@example.com 0033 655874 France
Robert Pauline 36 pauline.robert@example.com 0033 562694 France
Dubois Emilie 45 emilie.dubois@example.com 0033 606776 France
Richard Camille 20 camille.richard@example.com 0033 421136 France
Durand Pauline 37 pauline.durand@example.com 0033 350657 France
Moreau Camille 45 camille.moreau@example.com 0033 613228 France
Petit Victoire 44 victoire.petit@example.com 0033 164034 France
Richard Chloé 19 chloé.richard@example.com 0033 333819 France
Dubois Pauline 33 pauline.dubois@example.com 0033 199607 France
Laurent Pauline 27 pauline.laurent@example.com 0033 495788 France
Simon Pauline 18 pauline.simon@example.com 0033 959670 France
Durand Chloé 18 chloé.durand@example.com 0033 286253 France
Richard Victoire 42 victoire.richard@example.com 0033 246245 France
Simon Emilie 19 emilie.simon@example.com 0033 172362 France
Dubois Louise 29 louise.dubois@example.com 0033 125336 France
Moreau Amélie 22 amélie.moreau@example.com 0032 130004 Belgique
Moreau Camille 41 camille.moreau@example.com 0032 455655 Belgique
Simon Victoire 45 victoire.simon@example.com 0032 322267 Belgique
Robert Mathilde 19 mathilde.robert@example.com 0032 119136 Belgique
Durand Camille 37 camille.durand@example.com 0032 589179 Belgique
Martin Julie 37 julie.martin@example.com 0032 127783 Belgique
Dubois Léa 19 léa.dubois@example.com 0032 839727 Belgique
Robert Pauline 33 pauline.robert@example.com 0032 342059 Belgique
Simon Amélie 33 amélie.simon@example.com 0032 145732 Belgique
Petit Chloé 43 chloé.petit@example.com 0032 940316 Belgique
Dubois Mathilde 25 mathilde.dubois@example.com 0032 331779 Belgique
Robert Camille 37 camille.robert@example.com 0032 467489 Belgique
Moreau Mathilde 39 mathilde.moreau@example.com 0032 526768 Belgique
Richard Julie 18 julie.richard@example.com 0032 298201 Belgique
Martin Emilie 44 emilie.martin@example.com 0032 855868 Belgique
Dubois Louise 27 louise.dubois@example.com 0032 680192 Belgique
Thomas Julie 25 julie.thomas@example.com 0032 650353 Belgique