PHP $_POST Superglobal


PHP $_POST

Le $_POST superglobal contient un tableau de variables reçues via la méthode HTTP POST.

Les superglobals PHP sont des variables intégrées qui sont toujours accessibles dans tous les contextes !


$_POST dans les formulaires HTML

Un formulaire HTML soumet des données via la méthode HTTP POST si l'attribut method du formulaire est défini sur "post" .

Pour illustrer cela, nous allons commencer par créer un simple formulaire HTML :

Fichier HTML :

<html> <body> <form method="post" action="demo_request.php"> Nom : <input type="text" name="fname"> <input type="submit"> </form> </body> </html>

Lorsque l'utilisateur clique sur le bouton de soumission, les données du formulaire sont envoyées au fichier PHP spécifié dans l'attribut action de la balise <form> .

Dans le fichier PHP, nous pouvons utiliser la variable $_POST pour récupérer la valeur du champ de saisie.

Fichier PHP :

$name = htmlspecialchars($_POST['fname']); echo $name;

Remarque : Validez et assainissez toujours toutes les données collectées à partir des superglobals comme $_POST avant de les utiliser, afin d'éviter les vulnérabilités de sécurité telles que les attaques XSS. La fonction htmlspecialcars() utilisée ci-dessus est une manière de le faire. Un filtrage plus robuste peut être réalisé en utilisant les fonctions de filtrage PHP .



Mettre le tout ensemble

Dans l'exemple ci-dessous, nous avons intégré le formulaire HTML et le code PHP dans le même fichier PHP :

Exemple

<html> <body> <form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>"> Nom : <input type="text" name="fname"> <input type="submit"> </form> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = htmlspecialchars($_POST['fname']); if (empty($name)) { echo "Le nom est vide"; } else { echo $name; } } ?> </body> </html>
Essayez-le vous-même »