Contenu du cours
Apprendre le PHP
À propos de la leçon

La variable $_GET en PHP est une superglobale utilisée pour collecter des données envoyées via la méthode HTTP GET à partir de l’URL. Contrairement à $_POST, qui envoie des données dans le corps de la requête, $_GET passe les données directement dans l’URL. C’est utile pour les requêtes où les informations sont moins sensibles ou pour des opérations de recherche et de filtrage où les données doivent être visibles.

Comment Utiliser $_GET

1. Créer un Formulaire HTML avec la Méthode GET

Un formulaire HTML avec la méthode GET envoie les données en tant que paramètres de requête dans l’URL.

Exemple de Formulaire HTML :

<!DOCTYPE html>
<html>
<head>
    <title>Formulaire GET</title>
</head>
<body>
    <form action="traitement.php" method="get">
        Nom : <input type="text" name="nom"><br>
        Age : <input type="text" name="age"><br>
        <input type="submit" value="Envoyer">
    </form>
</body>
</html>

Lorsque l’utilisateur soumet le formulaire, les données sont envoyées au fichier traitement.php via la méthode GET, et les paramètres apparaissent dans l’URL comme ceci : traitement.php?nom=valeur&age=valeur.

2. Traiter les Données en PHP avec $_GET

Dans le fichier PHP (traitement.php), vous pouvez accéder aux données envoyées via $_GET en utilisant les noms des champs du formulaire comme clés.

Exemple de Traitement en PHP :

<?php
// Vérifiez si le formulaire a été soumis
if ($_SERVER["REQUEST_METHOD"] == "GET") {
    // Récupérez les données envoyées via GET
    $nom = isset($_GET['nom']) ? $_GET['nom'] : '';
    $age = isset($_GET['age']) ? $_GET['age'] : '';
    
    // Traitez les données (par exemple, affichez-les)
    echo "Nom : " . htmlspecialchars($nom) . "<br>";
    echo "Age : " . htmlspecialchars($age);
}
?>

Sécurisation avec htmlspecialchars : Comme pour $_POST, utilisez htmlspecialchars pour éviter les attaques XSS (Cross-Site Scripting).

3. Vérifier la Présence des Données

Avant de traiter les données, il est une bonne pratique de vérifier si les variables $_GET contiennent des valeurs.

Exemple de Vérification :

<?php
if ($_SERVER["REQUEST_METHOD"] == "GET") {
    // Vérifiez si les champs sont définis et non vides
    if (isset($_GET['nom']) && !empty($_GET['nom']) && isset($_GET['age']) && !empty($_GET['age'])) {
        $nom = htmlspecialchars($_GET['nom']);
        $age = htmlspecialchars($_GET['age']);
        echo "Nom : " . $nom . "<br>";
        echo "Age : " . $age;
    } else {
        echo "Veuillez remplir tous les champs.";
    }
}
?>

Utilisations Typiques de $_GET

Recherche et Filtrage : Utilisé pour passer des paramètres de recherche ou de filtrage dans l’URL, comme les termes de recherche ou les critères de filtrage.

Navigation : Utilisé pour passer des paramètres de navigation tels que les numéros de page ou les identifiants d’éléments.

Tracking : Utilisé pour suivre les informations de session ou les paramètres de suivi dans les URL.

Points à Garder à l’Esprit

Sécurité : Les données envoyées via GET sont visibles dans l’URL, ce qui peut poser des problèmes de confidentialité et de sécurité. Ne pas utiliser GET pour des informations sensibles.

Longueur de l’URL : Les URL ont une longueur maximale. Pour des formulaires avec beaucoup de données, POST est préférable.

En résumé, $_GET est utilisé pour récupérer des données envoyées via la méthode GET d’un formulaire ou directement dans l’URL. Bien qu’il soit pratique pour des données non sensibles et des opérations de recherche, il est essentiel de traiter et de sécuriser les données correctement pour éviter les risques de sécurité.

 

Participer à la discussion
0% Terminer