1Le même formulaire, deux méthodes Facile
Créer un formulaire avec nom et prénom, l'envoyer en
POST et afficher « Bonjour NOM PRÉNOM ». Refaire la même chose en GET, puis comparer
$_GET et $_POST.
<form action="traitement.php" method="post">
<label for="nom">Nom :</label>
<input type="text" id="nom" name="nom">
<label for="prenom">Prénom :</label>
<input type="text" id="prenom" name="prenom">
<input type="submit" value="Envoyer">
</form><?php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
if (!empty($_POST["nom"]) && !empty($_POST["prenom"])) {
$nom = htmlspecialchars(trim($_POST["nom"]));
$prenom = htmlspecialchars(trim($_POST["prenom"]));
echo "Bonjour $nom $prenom";
} else {
echo "Merci de remplir les deux champs.";
}
}
?>Pour la version GET, deux changements seulement :
method="post" → method="get"
$_POST["nom"] → $_GET["nom"]Et l'URL devient visible :
traitement.php?nom=Dupont&prenom=Marc| Constat | Conséquence |
|---|---|
| En GET, les données sont dans l'URL | on peut partager le lien — pratique pour une recherche |
| L'URL reste dans l'historique | jamais de mot de passe en GET |
| On peut modifier l'URL à la main | il faut toujours revalider côté serveur |
| En POST, rafraîchir renvoie le formulaire | le navigateur demande confirmation |