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 773533 Luxembourg
Petit Victoire 45 victoire.petit@example.com 0032 889336 Belgique
Dubois Victoire 39 victoire.dubois@example.com 0033 355237 France
Durand Victoire 21 victoire.durand@example.com 0032 668785 Belgique
Laurent Victoire 45 victoire.laurent@example.com 0032 293439 Belgique
Petit Victoire 22 victoire.petit@example.com 0033 518221 France
Robert Victoire 24 victoire.robert@example.com 0033 061223 France
Simon Victoire 35 victoire.simon@example.com 0032 396460 Belgique
Dubois Pauline 44 pauline.dubois@example.com 00352 846495 Luxembourg
Laurent Pauline 44 pauline.laurent@example.com 00352 176648 Luxembourg
Robert Pauline 22 pauline.robert@example.com 00352 408028 Luxembourg
Dubois Pauline 42 pauline.dubois@example.com 00352 078548 Luxembourg
Thomas Mathilde 42 mathilde.thomas@example.com 0033 988190 France
Petit Mathilde 32 mathilde.petit@example.com 0032 055789 Belgique
Durand Mathilde 36 mathilde.durand@example.com 0032 240152 Belgique
Robert Léa 22 léa.robert@example.com 0033 092341 France
Martin Léa 23 léa.martin@example.com 0033 818926 France
Simon Louise 41 louise.simon@example.com 00352 871218 Luxembourg
Simon Louise 23 louise.simon@example.com 00352 636072 Luxembourg
Simon Louise 29 louise.simon@example.com 00352 583464 Luxembourg
Robert Louise 20 louise.robert@example.com 00352 959665 Luxembourg
Dubois Louise 33 louise.dubois@example.com 00352 471881 Luxembourg
Simon Louise 45 louise.simon@example.com 0032 593951 Belgique
Robert Julie 33 julie.robert@example.com 00352 309807 Luxembourg
Laurent Julie 39 julie.laurent@example.com 0032 683383 Belgique
Dubois Julie 20 julie.dubois@example.com 00352 861397 Luxembourg
Laurent Julie 19 julie.laurent@example.com 0033 626883 France
Thomas Julie 33 julie.thomas@example.com 0032 586542 Belgique
Richard Julie 23 julie.richard@example.com 0032 095779 Belgique
Robert Julie 38 julie.robert@example.com 0033 817209 France
Martin Julie 45 julie.martin@example.com 0032 570199 Belgique
Martin Emilie 37 emilie.martin@example.com 0033 187413 France
Petit Emilie 40 emilie.petit@example.com 0033 158182 France
Richard Emilie 39 emilie.richard@example.com 0032 753938 Belgique
Robert Emilie 39 emilie.robert@example.com 0032 513749 Belgique
Dubois Emilie 41 emilie.dubois@example.com 00352 081054 Luxembourg
Laurent Emilie 18 emilie.laurent@example.com 00352 838436 Luxembourg
Martin Emilie 39 emilie.martin@example.com 00352 571187 Luxembourg
Thomas Chloé 35 chloé.thomas@example.com 0033 934428 France
Laurent Chloé 24 chloé.laurent@example.com 0032 638006 Belgique
Robert Chloé 43 chloé.robert@example.com 0033 221738 France
Petit Chloé 39 chloé.petit@example.com 00352 351426 Luxembourg
Durand Chloé 34 chloé.durand@example.com 0032 148827 Belgique
Durand Camille 28 camille.durand@example.com 00352 541766 Luxembourg
Robert Amélie 19 amélie.robert@example.com 0033 768466 France
Durand Amélie 36 amélie.durand@example.com 0032 654060 Belgique
Dubois Amélie 29 amélie.dubois@example.com 0032 254311 Belgique
Martin Amélie 23 amélie.martin@example.com 0033 236158 France
Laurent Amélie 20 amélie.laurent@example.com 00352 449791 Luxembourg
Dubois Amélie 45 amélie.dubois@example.com 00352 899289 Luxembourg