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
Martin Amélie 39 amélie.martin@example.com 00352 595130 Luxembourg
Petit Amélie 34 amélie.petit@example.com 0033 516496 France
Robert Amélie 30 amélie.robert@example.com 0032 180750 Belgique
Dubois Camille 21 camille.dubois@example.com 00352 732021 Luxembourg
Dubois Camille 27 camille.dubois@example.com 00352 664239 Luxembourg
Laurent Camille 44 camille.laurent@example.com 0032 149185 Belgique
Laurent Camille 28 camille.laurent@example.com 0032 841089 Belgique
Richard Camille 37 camille.richard@example.com 0033 827576 France
Simon Camille 45 camille.simon@example.com 0033 326715 France
Dubois Chloé 41 chloé.dubois@example.com 00352 533177 Luxembourg
Laurent Chloé 42 chloé.laurent@example.com 0033 770749 France
Simon Chloé 22 chloé.simon@example.com 00352 986953 Luxembourg
Dubois Emilie 23 emilie.dubois@example.com 0033 837574 France
Moreau Emilie 42 emilie.moreau@example.com 00352 795858 Luxembourg
Petit Emilie 27 emilie.petit@example.com 00352 809404 Luxembourg
Robert Emilie 42 emilie.robert@example.com 0032 878989 Belgique
Thomas Emilie 35 emilie.thomas@example.com 0033 859899 France
Martin Julie 38 julie.martin@example.com 0033 685602 France
Petit Julie 24 julie.petit@example.com 00352 905528 Luxembourg
Petit Julie 40 julie.petit@example.com 0033 219164 France
Petit Julie 27 julie.petit@example.com 00352 360739 Luxembourg
Laurent Louise 18 louise.laurent@example.com 00352 640869 Luxembourg
Laurent Louise 41 louise.laurent@example.com 00352 119390 Luxembourg
Thomas Louise 45 louise.thomas@example.com 0033 615415 France
Dubois Léa 25 léa.dubois@example.com 0033 084476 France
Moreau Léa 43 léa.moreau@example.com 00352 631530 Luxembourg
Dubois Mathilde 33 mathilde.dubois@example.com 00352 614359 Luxembourg
Dubois Mathilde 30 mathilde.dubois@example.com 0032 314704 Belgique
Martin Mathilde 21 mathilde.martin@example.com 00352 640019 Luxembourg
Martin Mathilde 41 mathilde.martin@example.com 0033 342615 France
Richard Mathilde 22 mathilde.richard@example.com 00352 239435 Luxembourg
Richard Mathilde 31 mathilde.richard@example.com 0032 892867 Belgique
Simon Mathilde 42 mathilde.simon@example.com 0032 353321 Belgique
Laurent Pauline 42 pauline.laurent@example.com 0033 993628 France
Martin Pauline 33 pauline.martin@example.com 00352 057396 Luxembourg
Martin Pauline 23 pauline.martin@example.com 0033 195164 France
Moreau Pauline 39 pauline.moreau@example.com 00352 276196 Luxembourg
Richard Pauline 31 pauline.richard@example.com 0032 513036 Belgique
Robert Pauline 44 pauline.robert@example.com 0033 603365 France
Simon Pauline 23 pauline.simon@example.com 00352 159510 Luxembourg
Thomas Pauline 37 pauline.thomas@example.com 0033 877556 France
Dubois Victoire 37 victoire.dubois@example.com 00352 097681 Luxembourg
Dubois Victoire 43 victoire.dubois@example.com 0033 042718 France
Martin Victoire 34 victoire.martin@example.com 0032 312197 Belgique
Petit Victoire 31 victoire.petit@example.com 0032 575885 Belgique
Richard Victoire 30 victoire.richard@example.com 0033 481943 France
Robert Victoire 22 victoire.robert@example.com 00352 910680 Luxembourg
Robert Victoire 31 victoire.robert@example.com 0033 819793 France
Simon Victoire 24 victoire.simon@example.com 0032 791107 Belgique
Thomas Victoire 21 victoire.thomas@example.com 00352 910009 Luxembourg