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
Durand Amélie 45 amélie.durand@example.com 00352 359487 Luxembourg
Martin Victoire 44 victoire.martin@example.com 00352 867369 Luxembourg
Robert Mathilde 44 mathilde.robert@example.com 00352 516372 Luxembourg
Thomas Emilie 43 emilie.thomas@example.com 00352 615154 Luxembourg
Dubois Mathilde 42 mathilde.dubois@example.com 0032 085390 Belgique
Simon Victoire 42 victoire.simon@example.com 0033 897780 France
Laurent Julie 42 julie.laurent@example.com 00352 823027 Luxembourg
Dubois Julie 41 julie.dubois@example.com 0033 512704 France
Thomas Mathilde 41 mathilde.thomas@example.com 0032 810477 Belgique
Petit Julie 41 julie.petit@example.com 0033 078474 France
Thomas Camille 40 camille.thomas@example.com 0032 614014 Belgique
Laurent Mathilde 40 mathilde.laurent@example.com 0032 895697 Belgique
Moreau Emilie 40 emilie.moreau@example.com 0032 441709 Belgique
Simon Mathilde 39 mathilde.simon@example.com 0033 551318 France
Thomas Pauline 39 pauline.thomas@example.com 00352 046040 Luxembourg
Thomas Chloé 37 chloé.thomas@example.com 0032 512647 Belgique
Thomas Chloé 37 chloé.thomas@example.com 0032 633637 Belgique
Thomas Léa 34 léa.thomas@example.com 0032 999217 Belgique
Thomas Léa 33 léa.thomas@example.com 0032 915959 Belgique
Moreau Mathilde 32 mathilde.moreau@example.com 00352 457732 Luxembourg
Dubois Louise 32 louise.dubois@example.com 0032 084340 Belgique
Robert Julie 31 julie.robert@example.com 00352 889516 Luxembourg
Martin Louise 29 louise.martin@example.com 0033 476146 France
Robert Chloé 29 chloé.robert@example.com 00352 142271 Luxembourg
Simon Chloé 29 chloé.simon@example.com 0033 766617 France
Petit Amélie 29 amélie.petit@example.com 0032 118839 Belgique
Martin Pauline 28 pauline.martin@example.com 00352 739653 Luxembourg
Richard Pauline 28 pauline.richard@example.com 00352 920940 Luxembourg
Richard Chloé 27 chloé.richard@example.com 00352 613170 Luxembourg
Thomas Chloé 27 chloé.thomas@example.com 00352 866317 Luxembourg
Richard Emilie 27 emilie.richard@example.com 0032 286229 Belgique
Petit Chloé 26 chloé.petit@example.com 00352 030485 Luxembourg
Martin Amélie 26 amélie.martin@example.com 0032 281486 Belgique
Robert Pauline 26 pauline.robert@example.com 0032 707357 Belgique
Durand Léa 25 léa.durand@example.com 0032 053179 Belgique
Thomas Julie 24 julie.thomas@example.com 00352 731436 Luxembourg
Dubois Mathilde 24 mathilde.dubois@example.com 0032 280345 Belgique
Moreau Mathilde 24 mathilde.moreau@example.com 0033 525054 France
Martin Mathilde 23 mathilde.martin@example.com 0032 004428 Belgique
Richard Amélie 23 amélie.richard@example.com 00352 103374 Luxembourg
Moreau Pauline 23 pauline.moreau@example.com 00352 308416 Luxembourg
Laurent Victoire 21 victoire.laurent@example.com 0033 091270 France
Petit Pauline 21 pauline.petit@example.com 0032 986012 Belgique
Simon Amélie 21 amélie.simon@example.com 00352 441332 Luxembourg
Dubois Camille 20 camille.dubois@example.com 0033 872436 France
Robert Chloé 20 chloé.robert@example.com 0033 841887 France
Martin Chloé 19 chloé.martin@example.com 0033 675052 France
Petit Camille 19 camille.petit@example.com 0033 594759 France
Moreau Chloé 19 chloé.moreau@example.com 00352 960104 Luxembourg
Laurent Louise 18 louise.laurent@example.com 00352 125164 Luxembourg