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 Camille 18 camille.moreau@example.com 00352 808820 Luxembourg
Simon Julie 18 julie.simon@example.com 0032 376970 Belgique
Richard Léa 18 léa.richard@example.com 0032 127894 Belgique
Robert Emilie 18 emilie.robert@example.com 00352 707969 Luxembourg
Dubois Chloé 19 chloé.dubois@example.com 00352 701308 Luxembourg
Richard Chloé 20 chloé.richard@example.com 0032 866304 Belgique
Petit Chloé 20 chloé.petit@example.com 00352 191736 Luxembourg
Petit Léa 21 léa.petit@example.com 0033 639269 France
Martin Julie 21 julie.martin@example.com 00352 945450 Luxembourg
Richard Julie 22 julie.richard@example.com 00352 682286 Luxembourg
Simon Chloé 22 chloé.simon@example.com 00352 107461 Luxembourg
Durand Mathilde 22 mathilde.durand@example.com 0033 208902 France
Richard Camille 22 camille.richard@example.com 0032 255620 Belgique
Richard Chloé 23 chloé.richard@example.com 0033 731954 France
Thomas Pauline 23 pauline.thomas@example.com 0032 677460 Belgique
Thomas Amélie 24 amélie.thomas@example.com 0033 643425 France
Robert Léa 24 léa.robert@example.com 00352 526323 Luxembourg
Moreau Louise 25 louise.moreau@example.com 00352 126522 Luxembourg
Laurent Julie 25 julie.laurent@example.com 0032 331565 Belgique
Petit Léa 25 léa.petit@example.com 0032 324151 Belgique
Simon Chloé 26 chloé.simon@example.com 00352 524920 Luxembourg
Thomas Louise 27 louise.thomas@example.com 0033 387641 France
Thomas Mathilde 27 mathilde.thomas@example.com 0033 139073 France
Thomas Emilie 28 emilie.thomas@example.com 0033 593991 France
Martin Louise 29 louise.martin@example.com 00352 745210 Luxembourg
Dubois Victoire 32 victoire.dubois@example.com 00352 671609 Luxembourg
Richard Pauline 32 pauline.richard@example.com 0033 516659 France
Robert Amélie 32 amélie.robert@example.com 0033 366934 France
Dubois Emilie 35 emilie.dubois@example.com 0033 254119 France
Richard Emilie 36 emilie.richard@example.com 0032 934324 Belgique
Martin Camille 36 camille.martin@example.com 0033 722074 France
Robert Julie 37 julie.robert@example.com 0032 400912 Belgique
Martin Mathilde 37 mathilde.martin@example.com 00352 455329 Luxembourg
Thomas Victoire 38 victoire.thomas@example.com 0032 410016 Belgique
Laurent Julie 40 julie.laurent@example.com 00352 361537 Luxembourg
Robert Léa 40 léa.robert@example.com 0033 907338 France
Thomas Pauline 40 pauline.thomas@example.com 0033 990283 France
Thomas Mathilde 42 mathilde.thomas@example.com 00352 380537 Luxembourg
Dubois Louise 42 louise.dubois@example.com 0032 995573 Belgique
Richard Mathilde 43 mathilde.richard@example.com 00352 672867 Luxembourg
Durand Julie 43 julie.durand@example.com 00352 090272 Luxembourg
Richard Pauline 44 pauline.richard@example.com 0032 225089 Belgique
Richard Chloé 44 chloé.richard@example.com 00352 528166 Luxembourg
Simon Camille 44 camille.simon@example.com 0032 728890 Belgique
Martin Pauline 44 pauline.martin@example.com 0032 134317 Belgique
Petit Amélie 45 amélie.petit@example.com 0032 191459 Belgique
Durand Emilie 45 emilie.durand@example.com 0032 728148 Belgique
Simon Louise 45 louise.simon@example.com 0032 999215 Belgique
Thomas Pauline 45 pauline.thomas@example.com 0032 696813 Belgique
Moreau Pauline 45 pauline.moreau@example.com 0033 569291 France