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
Robert Victoire 30 victoire.robert@example.com 00352 864187 Luxembourg
Martin Victoire 39 victoire.martin@example.com 0032 504566 Belgique
Laurent Victoire 18 victoire.laurent@example.com 00352 616195 Luxembourg
Laurent Victoire 19 victoire.laurent@example.com 0033 404399 France
Thomas Pauline 24 pauline.thomas@example.com 0032 366183 Belgique
Simon Pauline 40 pauline.simon@example.com 00352 003337 Luxembourg
Martin Pauline 33 pauline.martin@example.com 0032 565784 Belgique
Laurent Pauline 27 pauline.laurent@example.com 0032 065387 Belgique
Laurent Pauline 23 pauline.laurent@example.com 00352 202076 Luxembourg
Durand Pauline 44 pauline.durand@example.com 0033 911841 France
Robert Mathilde 36 mathilde.robert@example.com 0032 925857 Belgique
Richard Mathilde 25 mathilde.richard@example.com 0033 458648 France
Moreau Mathilde 28 mathilde.moreau@example.com 0033 176527 France
Robert Léa 41 léa.robert@example.com 0032 688367 Belgique
Petit Léa 25 léa.petit@example.com 0032 546518 Belgique
Petit Léa 28 léa.petit@example.com 00352 094657 Luxembourg
Martin Léa 18 léa.martin@example.com 0033 608362 France
Martin Léa 28 léa.martin@example.com 0032 879130 Belgique
Richard Louise 30 louise.richard@example.com 00352 319084 Luxembourg
Richard Louise 39 louise.richard@example.com 00352 758277 Luxembourg
Durand Louise 31 louise.durand@example.com 0032 812128 Belgique
Dubois Louise 35 louise.dubois@example.com 0033 467229 France
Robert Julie 27 julie.robert@example.com 00352 280610 Luxembourg
Moreau Julie 20 julie.moreau@example.com 0032 607202 Belgique
Martin Julie 37 julie.martin@example.com 00352 410165 Luxembourg
Martin Julie 30 julie.martin@example.com 0032 768316 Belgique
Martin Julie 36 julie.martin@example.com 00352 774526 Luxembourg
Thomas Emilie 45 emilie.thomas@example.com 0033 663420 France
Thomas Emilie 26 emilie.thomas@example.com 0033 900627 France
Thomas Emilie 22 emilie.thomas@example.com 00352 804752 Luxembourg
Simon Emilie 37 emilie.simon@example.com 0032 815301 Belgique
Martin Emilie 33 emilie.martin@example.com 0033 916841 France
Durand Emilie 20 emilie.durand@example.com 00352 095595 Luxembourg
Durand Emilie 45 emilie.durand@example.com 0032 812341 Belgique
Thomas Chloé 32 chloé.thomas@example.com 0033 052387 France
Richard Chloé 31 chloé.richard@example.com 0033 270108 France
Petit Chloé 29 chloé.petit@example.com 0032 394528 Belgique
Moreau Chloé 27 chloé.moreau@example.com 00352 267595 Luxembourg
Moreau Chloé 36 chloé.moreau@example.com 0032 954491 Belgique
Laurent Chloé 24 chloé.laurent@example.com 0033 725471 France
Dubois Chloé 37 chloé.dubois@example.com 0033 037325 France
Dubois Chloé 28 chloé.dubois@example.com 0032 361112 Belgique
Petit Camille 23 camille.petit@example.com 0033 294632 France
Martin Camille 34 camille.martin@example.com 0033 829991 France
Thomas Amélie 42 amélie.thomas@example.com 0033 084549 France
Richard Amélie 32 amélie.richard@example.com 0032 081655 Belgique
Richard Amélie 39 amélie.richard@example.com 00352 074475 Luxembourg
Moreau Amélie 18 amélie.moreau@example.com 00352 266125 Luxembourg
Moreau Amélie 34 amélie.moreau@example.com 0033 471052 France
Laurent Amélie 44 amélie.laurent@example.com 00352 882324 Luxembourg