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
Petit Chloé 34 chloé.petit@example.com 0032 598469 Belgique
Richard Victoire 43 victoire.richard@example.com 0032 601530 Belgique
Petit Mathilde 39 mathilde.petit@example.com 0032 130494 Belgique
Martin Pauline 33 pauline.martin@example.com 0032 476456 Belgique
Moreau Victoire 24 victoire.moreau@example.com 0032 898013 Belgique
Durand Mathilde 38 mathilde.durand@example.com 0032 991460 Belgique
Richard Victoire 22 victoire.richard@example.com 0032 746653 Belgique
Laurent Camille 26 camille.laurent@example.com 0032 543516 Belgique
Martin Julie 38 julie.martin@example.com 0032 117524 Belgique
Laurent Louise 44 louise.laurent@example.com 0032 123836 Belgique
Thomas Chloé 18 chloé.thomas@example.com 0032 340910 Belgique
Martin Victoire 33 victoire.martin@example.com 0032 859117 Belgique
Dubois Mathilde 41 mathilde.dubois@example.com 0032 494328 Belgique
Moreau Mathilde 22 mathilde.moreau@example.com 0032 448198 Belgique
Robert Julie 26 julie.robert@example.com 0032 852399 Belgique
Moreau Victoire 24 victoire.moreau@example.com 0032 471684 Belgique
Moreau Emilie 30 emilie.moreau@example.com 0032 560874 Belgique
Martin Louise 38 louise.martin@example.com 0033 904859 France
Moreau Amélie 43 amélie.moreau@example.com 0033 867648 France
Moreau Mathilde 21 mathilde.moreau@example.com 0033 223629 France
Durand Louise 43 louise.durand@example.com 0033 825452 France
Robert Louise 43 louise.robert@example.com 0033 856170 France
Durand Amélie 23 amélie.durand@example.com 0033 807904 France
Simon Pauline 18 pauline.simon@example.com 0033 467673 France
Simon Louise 41 louise.simon@example.com 0033 191282 France
Simon Victoire 43 victoire.simon@example.com 0033 629341 France
Moreau Louise 40 louise.moreau@example.com 0033 368140 France
Robert Mathilde 35 mathilde.robert@example.com 0033 698030 France
Petit Léa 21 léa.petit@example.com 0033 878197 France
Richard Pauline 33 pauline.richard@example.com 0033 934145 France
Durand Julie 20 julie.durand@example.com 0033 417697 France
Moreau Louise 34 louise.moreau@example.com 0033 812648 France
Moreau Camille 25 camille.moreau@example.com 0033 466294 France
Robert Pauline 44 pauline.robert@example.com 0033 008922 France
Martin Léa 19 léa.martin@example.com 0033 417287 France
Dubois Amélie 26 amélie.dubois@example.com 0033 749466 France
Robert Pauline 41 pauline.robert@example.com 0033 268929 France
Robert Julie 19 julie.robert@example.com 0033 928461 France
Laurent Léa 44 léa.laurent@example.com 00352 769922 Luxembourg
Dubois Pauline 45 pauline.dubois@example.com 00352 834239 Luxembourg
Thomas Pauline 19 pauline.thomas@example.com 00352 389645 Luxembourg
Martin Victoire 39 victoire.martin@example.com 00352 413453 Luxembourg
Petit Emilie 26 emilie.petit@example.com 00352 491258 Luxembourg
Moreau Amélie 45 amélie.moreau@example.com 00352 708434 Luxembourg
Simon Julie 36 julie.simon@example.com 00352 278014 Luxembourg
Richard Léa 22 léa.richard@example.com 00352 418528 Luxembourg
Martin Emilie 29 emilie.martin@example.com 00352 324820 Luxembourg
Petit Julie 35 julie.petit@example.com 00352 468021 Luxembourg
Durand Pauline 25 pauline.durand@example.com 00352 786210 Luxembourg
Moreau Léa 27 léa.moreau@example.com 00352 362513 Luxembourg