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 Camille 32 camille.robert@example.com 00352 630221 Luxembourg
Thomas Louise 34 louise.thomas@example.com 00352 343512 Luxembourg
Moreau Amélie 22 amélie.moreau@example.com 00352 539434 Luxembourg
Laurent Louise 38 louise.laurent@example.com 00352 080359 Luxembourg
Robert Victoire 37 victoire.robert@example.com 00352 301989 Luxembourg
Petit Emilie 26 emilie.petit@example.com 00352 406838 Luxembourg
Robert Emilie 18 emilie.robert@example.com 00352 505389 Luxembourg
Petit Léa 33 léa.petit@example.com 00352 552889 Luxembourg
Moreau Camille 27 camille.moreau@example.com 00352 274456 Luxembourg
Martin Louise 44 louise.martin@example.com 00352 076513 Luxembourg
Moreau Victoire 28 victoire.moreau@example.com 00352 549647 Luxembourg
Martin Léa 37 léa.martin@example.com 00352 115575 Luxembourg
Thomas Louise 32 louise.thomas@example.com 00352 109319 Luxembourg
Moreau Camille 18 camille.moreau@example.com 0033 419715 France
Martin Chloé 21 chloé.martin@example.com 0033 755009 France
Simon Mathilde 34 mathilde.simon@example.com 0033 235748 France
Robert Julie 45 julie.robert@example.com 0033 565823 France
Simon Emilie 34 emilie.simon@example.com 0033 124348 France
Dubois Léa 45 léa.dubois@example.com 0033 909173 France
Dubois Chloé 18 chloé.dubois@example.com 0033 958197 France
Laurent Léa 34 léa.laurent@example.com 0033 815042 France
Richard Victoire 28 victoire.richard@example.com 0033 935143 France
Richard Mathilde 30 mathilde.richard@example.com 0033 318973 France
Laurent Camille 29 camille.laurent@example.com 0033 187936 France
Simon Louise 20 louise.simon@example.com 0033 298452 France
Durand Mathilde 40 mathilde.durand@example.com 0033 477517 France
Laurent Mathilde 37 mathilde.laurent@example.com 0033 409341 France
Robert Léa 45 léa.robert@example.com 0033 231095 France
Simon Victoire 39 victoire.simon@example.com 0033 924399 France
Laurent Julie 18 julie.laurent@example.com 0033 790521 France
Durand Amélie 38 amélie.durand@example.com 0033 320573 France
Richard Julie 33 julie.richard@example.com 0033 746722 France
Simon Pauline 30 pauline.simon@example.com 0033 934028 France
Petit Camille 32 camille.petit@example.com 0033 079112 France
Petit Chloé 23 chloé.petit@example.com 0033 781926 France
Petit Léa 39 léa.petit@example.com 0032 258420 Belgique
Laurent Julie 38 julie.laurent@example.com 0032 276896 Belgique
Laurent Chloé 39 chloé.laurent@example.com 0032 181884 Belgique
Dubois Pauline 34 pauline.dubois@example.com 0032 095790 Belgique
Richard Victoire 45 victoire.richard@example.com 0032 628192 Belgique
Richard Chloé 25 chloé.richard@example.com 0032 458436 Belgique
Laurent Amélie 20 amélie.laurent@example.com 0032 656313 Belgique
Richard Victoire 30 victoire.richard@example.com 0032 287731 Belgique
Richard Louise 22 louise.richard@example.com 0032 321457 Belgique
Simon Victoire 22 victoire.simon@example.com 0032 888306 Belgique
Richard Victoire 31 victoire.richard@example.com 0032 364761 Belgique
Richard Amélie 36 amélie.richard@example.com 0032 594249 Belgique
Dubois Victoire 27 victoire.dubois@example.com 0032 534187 Belgique
Thomas Pauline 44 pauline.thomas@example.com 0032 799976 Belgique
Dubois Amélie 31 amélie.dubois@example.com 0032 633070 Belgique