Maison >développement back-end >tutoriel php >Pourquoi `isset($_POST)` renvoie-t-il True pour les entrées de formulaire vides ?
Comprendre le problème "If isset $_POST"
Lorsque vous travaillez avec des formulaires HTML et PHP, vérifier si une entrée de formulaire a été définie est effectué en utilisant la fonction isset(). Cependant, dans certains scénarios, il peut renvoyer un résultat positif même lorsque le champ du formulaire est vide. Cela peut entraîner un comportement inattendu dans votre code.
Le problème
Dans l'exemple fourni, l'entrée de formulaire nommée « mail » est toujours définie, qu'elle soit ou non. contient des données. En effet, la plupart des entrées de formulaire sont automatiquement définies lorsque le formulaire est soumis, même si elles restent vides.
La solution
Pour résoudre ce problème, vous devez vérifier à la fois l’existence de l’entrée et son vide. Ceci peut être réalisé en utilisant la fonction !empty().
Le code corrigé :
<?php if (!empty($_POST["mail"])) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; } ?>
Dans ce code, la fonction !empty() vérifie si le $_POST["mail" ] est vide. S'il n'est pas vide, cela signifie que le champ de saisie contient des données et est défini. Sinon, il renverra false et indiquera que l'entrée n'est pas définie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!