Dévoilement du mystère : pourquoi "isset($_POST)" renvoie toujours vrai, même avec des formulaires vides
Lors du traitement des soumissions de formulaires, il est courant de s'appuyer sur la fonction isset() pour vérifier si des valeurs de champ spécifiques ont été fournies. Cependant, vous pouvez rencontrer une situation déroutante dans laquelle isset($_POST["field_name"]) est toujours évalué à true, même si le champ correspondant dans le formulaire soumis est laissé vide.
Tracer l'énigme : Comprendre le comportement de saisie du formulaire
Le coupable réside dans la nature des entrées de formulaire. Par défaut, la plupart des entrées de formulaire sont toujours considérées comme « définies », que l'utilisateur ait ou non fourni une valeur. En effet, ils sont automatiquement renseignés avec des valeurs de chaîne vides.
La pièce manquante : intégration de la vérification du vide
Pour résoudre ce problème, vous devez compléter la vérification isset() avec un contrôle de vide. Une façon d'y parvenir consiste à utiliser la fonction empty().
Réécriture du code avec une vérification du vide :
if (!empty($_POST["mail"])) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; }
Explication :
Conclusion :
En incorporant une vérification de vide dans votre code, vous pouvez déterminer avec précision si un champ de formulaire a reçu une valeur, résolvant ainsi le problème de "isset($_POST)" renvoie toujours vrai pour les champs vides.
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!