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
Laurent Victoire 41 victoire.laurent@example.com 00352 305127 Luxembourg
Petit Victoire 19 victoire.petit@example.com 00352 392007 Luxembourg
Simon Victoire 43 victoire.simon@example.com 0032 651652 Belgique
Laurent Victoire 19 victoire.laurent@example.com 00352 810265 Luxembourg
Martin Pauline 20 pauline.martin@example.com 00352 314519 Luxembourg
Durand Pauline 22 pauline.durand@example.com 0033 083691 France
Petit Pauline 44 pauline.petit@example.com 00352 006974 Luxembourg
Thomas Pauline 25 pauline.thomas@example.com 00352 738052 Luxembourg
Thomas Pauline 45 pauline.thomas@example.com 00352 500180 Luxembourg
Richard Mathilde 38 mathilde.richard@example.com 0032 483070 Belgique
Durand Mathilde 27 mathilde.durand@example.com 00352 115054 Luxembourg
Petit Mathilde 19 mathilde.petit@example.com 0033 396242 France
Robert Léa 25 léa.robert@example.com 0032 833588 Belgique
Thomas Léa 28 léa.thomas@example.com 00352 288554 Luxembourg
Moreau Léa 28 léa.moreau@example.com 00352 723144 Luxembourg
Simon Léa 23 léa.simon@example.com 0032 212501 Belgique
Thomas Louise 42 louise.thomas@example.com 0033 682622 France
Thomas Louise 37 louise.thomas@example.com 0033 548853 France
Laurent Louise 41 louise.laurent@example.com 0033 750119 France
Simon Louise 34 louise.simon@example.com 0032 449115 Belgique
Richard Louise 22 louise.richard@example.com 00352 773432 Luxembourg
Laurent Louise 32 louise.laurent@example.com 0032 763287 Belgique
Moreau Julie 38 julie.moreau@example.com 0032 513891 Belgique
Thomas Julie 19 julie.thomas@example.com 0032 373823 Belgique
Thomas Julie 41 julie.thomas@example.com 0032 941480 Belgique
Moreau Emilie 36 emilie.moreau@example.com 0032 154903 Belgique
Laurent Emilie 34 emilie.laurent@example.com 0033 245582 France
Laurent Emilie 27 emilie.laurent@example.com 00352 225182 Luxembourg
Dubois Emilie 21 emilie.dubois@example.com 00352 635059 Luxembourg
Petit Emilie 34 emilie.petit@example.com 0032 077298 Belgique
Richard Emilie 18 emilie.richard@example.com 0032 224554 Belgique
Simon Emilie 23 emilie.simon@example.com 00352 314112 Luxembourg
Moreau Chloé 44 chloé.moreau@example.com 0033 923135 France
Petit Chloé 41 chloé.petit@example.com 0032 211016 Belgique
Thomas Chloé 29 chloé.thomas@example.com 0032 753845 Belgique
Thomas Chloé 25 chloé.thomas@example.com 0032 572063 Belgique
Martin Chloé 23 chloé.martin@example.com 0032 418245 Belgique
Simon Chloé 28 chloé.simon@example.com 00352 069705 Luxembourg
Moreau Camille 39 camille.moreau@example.com 00352 544453 Luxembourg
Laurent Camille 44 camille.laurent@example.com 0032 967152 Belgique
Martin Camille 39 camille.martin@example.com 0032 446844 Belgique
Moreau Camille 42 camille.moreau@example.com 0033 810621 France
Richard Camille 35 camille.richard@example.com 00352 717721 Luxembourg
Durand Camille 34 camille.durand@example.com 00352 330989 Luxembourg
Simon Camille 24 camille.simon@example.com 0032 545832 Belgique
Richard Amélie 45 amélie.richard@example.com 0033 382673 France
Laurent Amélie 25 amélie.laurent@example.com 0033 315398 France
Petit Amélie 38 amélie.petit@example.com 0032 988132 Belgique
Moreau Amélie 43 amélie.moreau@example.com 0032 919330 Belgique
Simon Amélie 24 amélie.simon@example.com 0032 221332 Belgique