Contenu du cours
Apprendre le PHP
À propos de la leçon

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.

Participer à la discussion
0% Terminer