La variable $_POST
en PHP est une superglobale utilisée pour collecter des données envoyées par la méthode HTTP POST à partir de formulaires HTML. Contrairement à $_GET
, qui collecte des données via la méthode GET (en ajoutant des paramètres dans l’URL), $_POST
envoie des données de manière plus sécurisée, sans les exposer dans l’URL.
Comment Utiliser $_POST
Voici comment utiliser $_POST
pour récupérer et traiter les données envoyées depuis un formulaire HTML :
1. Créer un Formulaire HTML
Un formulaire HTML avec la méthode POST envoie les données au script PHP spécifié dans l’attribut action
.
Exemple de Formulaire HTML :
<!DOCTYPE html>
<html>
<head>
<title>Formulaire POST</title>
</head>
<body>
<form action="traitement.php" method="post">
Nom : <input type="text" name="nom"><br>
Age : <input type="text" name="age"><br>
<input type="submit" value="Envoyer">
</form>
</body>
</html>
Dans cet exemple, lorsque l’utilisateur soumet le formulaire, les données sont envoyées au fichier traitement.php
via la méthode POST.
2. Traiter les Données en PHP avec $_POST
Dans le fichier PHP (traitement.php
), vous pouvez accéder aux données envoyées via $_POST
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"] == "POST") {
// Récupérez les données envoyées via POST
$nom = $_POST['nom'];
$age = $_POST['age'];
// Traitez les données (par exemple, affichez-les)
echo "Nom : " . htmlspecialchars($nom) . "<br>";
echo "Age : " . htmlspecialchars($age);
}
?>
Sécurisation avec htmlspecialchars
: Utilisez htmlspecialchars
pour éviter les attaques XSS (Cross-Site Scripting) en échappant les caractères spéciaux HTML.
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 $_POST
contiennent des valeurs.
Exemple de Vérification :
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Vérifiez si les champs sont définis et non vides
if (isset($_POST['nom']) && !empty($_POST['nom']) && isset($_POST['age']) && !empty($_POST['age'])) {
$nom = htmlspecialchars($_POST['nom']);
$age = htmlspecialchars($_POST['age']);
echo "Nom : " . $nom . "<br>";
echo "Age : " . $age;
} else {
echo "Veuillez remplir tous les champs.";
}
}
?>
Résumé
$_POST
est une superglobale qui contient les données envoyées via la méthode POST d’un formulaire HTML.
Les données dans $_POST
sont accessibles en utilisant les noms des champs du formulaire comme clés.
Utilisez htmlspecialchars
pour sécuriser les données et éviter les attaques XSS.
Vérifiez toujours si les données sont définies et non vides avant de les traiter pour éviter les erreurs.
En utilisant $_POST
, vous pouvez récupérer des données envoyées par les utilisateurs de manière plus sécurisée et traiter ces informations dans vos scripts PHP.