📘 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
etPOST
dans un formulaire HTML - Tableaux superglobaux
$_GET
et$_POST
- Fonction
isset()
et test de soumission de formulaire - Validation simple avec
empty()
etfilter_var()
- Différences entre
GET
(URL) etPOST
(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()
etfilter_var()
pour une validation basique. - Vérifier
$_SERVER["REQUEST_METHOD"]
pour sécuriser le traitement.