📘 Chapitre 1 – Récupération via $_GET, $_POST, validation simple`

1. 🎯 Objectif pédagogique

Savoir récupérer des données envoyées par un formulaire HTML à l’aide des superglobales $_GET et $_POST, et appliquer une première validation pour sécuriser les entrées.

2. 📚 Concepts abordés

  • Méthodes GET et POST dans un formulaire HTML
  • Tableaux superglobaux $_GET et $_POST
  • Fonction isset() et test de soumission de formulaire
  • Validation simple avec empty() et filter_var()
  • Différences entre GET (URL) et POST (corps de la requête)

3. 🧠 Explication théorique

Lorsqu’un formulaire HTML est soumis :

  • GET : les données sont visibles dans l’URL (utilisé pour des recherches ou navigation).
  • POST : les données sont envoyées de manière plus sécurisée dans le corps de la requête (utilisé pour formulaires sensibles).

Exemple de récupération avec POST :

if ($_SERVER["REQUEST_METHOD"] === "POST") {
    $nom = $_POST['nom'];
    echo "Bonjour $nom";
}

4. 🛠 Tutoriel pratique

Résumé du travail : Créer un formulaire de contact (nom, email) et récupérer les données avec $_POST.

Arborescence projet :

projet_php/
 ├── formulaire.html
 └── traitement.php

Étape 1 : Créer le formulaire

<!-- fichier : formulaire.html -->
<form action="traitement.php" method="POST">
    <label>Nom :</label>
    <input type="text" name="nom"><br>

    <label>Email :</label>
    <input type="email" name="email"><br>

    <button type="submit">Envoyer</button>
</form>

Étape 2 : Traiter les données en PHP

<?php
// fichier : traitement.php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
    $nom = trim($_POST['nom']);
    $email = trim($_POST['email']);

    if (empty($nom) || empty($email)) {
        echo "Tous les champs sont obligatoires.";
    } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        echo "Email invalide.";
    } else {
        echo "Bonjour $nom, votre email est $email.";
    }
}

Étape 3 : Tester avec GET (facultatif)

<form action="traitement.php" method="GET">
    ...
</form>

Dans ce cas, les données apparaissent dans l’URL (ex : traitement.php?nom=Alice&email=alice@test.com).

5. 🧾 Résumé et points-clés

  • $_GET récupère les données passées dans l’URL.
  • $_POST récupère les données envoyées dans le corps de la requête.
  • Toujours utiliser trim(), empty() et filter_var() pour une validation basique.
  • Vérifier $_SERVER["REQUEST_METHOD"] pour sécuriser le traitement.