Partie 12 — Formulaires HTML & PHP : GET, POST, récupération des données
Un site web sans formulaire est un site statique.
Les formulaires sont le moyen principal par lequel un utilisateur peut :
- S’inscrire
- Se connecter
- Envoyer un message
- Effectuer une recherche
- Passer une commande
En PHP, les formulaires sont au cœur de toutes les applications dynamiques.
Dans cette partie, vous allez apprendre :
- Comment fonctionne un formulaire HTML
- La différence entre GET et POST
- Récupérer les données avec PHP
- Nettoyer et sécuriser les entrées utilisateur
- Des cas réels utilisés dans les projets professionnels
1. Qu’est-ce qu’un formulaire HTML ?
Un formulaire HTML est un ensemble de champs qui permet à l’utilisateur d’envoyer des données vers le serveur.
Ces données sont ensuite traitées par PHP.
Structure de base d’un formulaire
<form action="traitement.php" method="post">
<input type="text" name="nom">
<input type="submit" value="Envoyer">
</form>
Les éléments essentiels :
- action : fichier PHP qui reçoit les données
- method : GET ou POST
- name : clé utilisée par PHP
2. Les champs de formulaire les plus utilisés
HTML propose plusieurs types de champs :
- input text
- input email
- input password
- textarea
- select
- checkbox / radio
Exemple complet
<form method="post"> <input type="text" name="nom" placeholder="Votre nom"> <input type="email" name="email"> <textarea name="message"></textarea> <input type="submit" value="Envoyer"> </form>
3. GET et POST : comprendre la différence
Les formulaires peuvent envoyer les données de deux manières :
- GET
- POST
Méthode GET
Les données sont visibles dans l’URL.
page.php?nom=Ali&age=25
GET est utilisé pour :
- Recherche
- Filtres
- Pagination
Méthode POST
Les données ne sont pas visibles dans l’URL.
POST est utilisé pour :
- Connexion
- Inscription
- Formulaires sensibles
👉 Bonne pratique : utiliser POST pour toute donnée sensible.
4. Récupérer les données avec PHP ($_GET et $_POST)
PHP met les données envoyées dans des tableaux superglobaux.
Récupération avec GET
<?php $nom = $_GET["nom"]; echo $nom; ?>
Récupération avec POST
<?php $nom = $_POST["nom"]; echo $nom; ?>
⚠️ Ne jamais faire confiance aux données utilisateur.
5. Vérifier l’existence des données (isset)
Avant d’utiliser une donnée, il faut vérifier qu’elle existe.
<?php
if (isset($_POST["nom"])) {
echo $_POST["nom"];
}
?>
👉 Évite les erreurs PHP.
6. Nettoyage et sécurité des données
Les données envoyées par formulaire doivent être nettoyées.
Exemple sécurisé
<?php $nom = trim($_POST["nom"]); $nom = htmlspecialchars($nom); echo "Bonjour " . $nom; ?>
👉 Protection contre les attaques XSS.
7. Cas réel : formulaire de contact
HTML
<form method="post"> <input type="text" name="nom"> <input type="email" name="email"> <textarea name="message"></textarea> <input type="submit" value="Envoyer"> </form>
PHP
<?php
if (!empty($_POST)) {
$nom = htmlspecialchars(trim($_POST["nom"]));
$email = htmlspecialchars(trim($_POST["email"]));
$message = htmlspecialchars(trim($_POST["message"]));
echo "Message reçu de " . $nom;
}
?>
8. Validation des champs
La validation permet de vérifier :
- Champs vides
- Email valide
- Longueur du texte
Exemple simple
<?php
if (empty($nom)) {
echo "Nom obligatoire";
}
?>
9. Erreurs fréquentes des débutants
- Utiliser GET pour les mots de passe
- Oublier name dans les inputs
- Ne pas nettoyer les données
- Faire confiance à l’utilisateur
10. Mini-exercices pratiques
- Créer un formulaire avec GET
- Créer un formulaire avec POST
- Nettoyer les données envoyées
- Valider un champ obligatoire
Conclusion
Les formulaires sont la base de l’interaction utilisateur.
En maîtrisant :
- HTML des formulaires
- GET et POST
- Récupération sécurisée des données
Vous êtes prêt à créer des applications PHP complètes.
Dans la prochaine partie, nous verrons comment gérer l’état utilisateur avec les sessions et cookies.