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 Amélie 39 amélie.robert@example.com 0033 637174 France
Simon Amélie 25 amélie.simon@example.com 00352 828120 Luxembourg
Martin Amélie 30 amélie.martin@example.com 00352 104959 Luxembourg
Richard Amélie 41 amélie.richard@example.com 0032 423970 Belgique
Martin Amélie 25 amélie.martin@example.com 0032 966113 Belgique
Moreau Camille 24 camille.moreau@example.com 00352 287446 Luxembourg
Laurent Camille 41 camille.laurent@example.com 0032 603154 Belgique
Petit Camille 35 camille.petit@example.com 0033 254793 France
Richard Camille 36 camille.richard@example.com 0032 227364 Belgique
Moreau Camille 36 camille.moreau@example.com 0032 879506 Belgique
Robert Chloé 28 chloé.robert@example.com 0032 471921 Belgique
Robert Chloé 36 chloé.robert@example.com 0032 931450 Belgique
Martin Chloé 33 chloé.martin@example.com 0033 430595 France
Thomas Emilie 44 emilie.thomas@example.com 00352 836119 Luxembourg
Moreau Emilie 20 emilie.moreau@example.com 0032 311326 Belgique
Durand Emilie 25 emilie.durand@example.com 0033 095920 France
Dubois Emilie 22 emilie.dubois@example.com 0032 858391 Belgique
Martin Julie 27 julie.martin@example.com 0033 925478 France
Richard Julie 30 julie.richard@example.com 00352 384696 Luxembourg
Petit Julie 41 julie.petit@example.com 00352 005601 Luxembourg
Laurent Julie 25 julie.laurent@example.com 00352 585480 Luxembourg
Dubois Julie 27 julie.dubois@example.com 0033 742859 France
Dubois Louise 43 louise.dubois@example.com 0032 561721 Belgique
Thomas Louise 31 louise.thomas@example.com 0032 689369 Belgique
Durand Louise 21 louise.durand@example.com 0032 565689 Belgique
Petit Louise 44 louise.petit@example.com 00352 466591 Luxembourg
Moreau Léa 37 léa.moreau@example.com 00352 106365 Luxembourg
Martin Léa 27 léa.martin@example.com 00352 631959 Luxembourg
Robert Léa 22 léa.robert@example.com 0033 732559 France
Dubois Léa 43 léa.dubois@example.com 0033 378714 France
Moreau Léa 23 léa.moreau@example.com 0032 015069 Belgique
Robert Mathilde 19 mathilde.robert@example.com 0033 761750 France
Martin Mathilde 35 mathilde.martin@example.com 0032 466641 Belgique
Richard Mathilde 32 mathilde.richard@example.com 00352 830906 Luxembourg
Petit Mathilde 20 mathilde.petit@example.com 0032 646141 Belgique
Dubois Mathilde 40 mathilde.dubois@example.com 0032 677822 Belgique
Thomas Mathilde 23 mathilde.thomas@example.com 0033 760699 France
Petit Pauline 37 pauline.petit@example.com 00352 549185 Luxembourg
Petit Pauline 24 pauline.petit@example.com 0033 695031 France
Laurent Pauline 27 pauline.laurent@example.com 0032 880210 Belgique
Richard Pauline 21 pauline.richard@example.com 0033 678545 France
Dubois Victoire 38 victoire.dubois@example.com 0032 530237 Belgique
Laurent Victoire 42 victoire.laurent@example.com 0033 600600 France
Laurent Victoire 21 victoire.laurent@example.com 0033 281696 France
Richard Victoire 20 victoire.richard@example.com 0032 991095 Belgique
Petit Victoire 44 victoire.petit@example.com 0033 689436 France
Durand Victoire 38 victoire.durand@example.com 0033 673442 France
Durand Victoire 29 victoire.durand@example.com 0033 864274 France
Petit Victoire 45 victoire.petit@example.com 00352 716817 Luxembourg
Laurent Victoire 29 victoire.laurent@example.com 00352 836211 Luxembourg