Pourquoi `isset($_POST)` renvoie-t-il toujours True pour les formulaires vides ?

Linda Hamilton
Libérer: 2024-11-08 19:08:02
original
539 Les gens l'ont consulté

Why Does `isset($_POST)` Always Return True for Empty Forms?

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";
}
Copier après la connexion

Explication :

  • La fonction !empty() est évaluée à true uniquement si la valeur de $_POST["mail"] n'est pas vide.
  • Cela garantit que le "Oui, le courrier est set" s'affiche uniquement si l'utilisateur a fourni une valeur pour le champ mail.
  • Le message "Non, le mail n'est pas défini" s'affiche lorsque le champ est laissé vide.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal