PHP radio bouton vérifier si la valeur est null
Nous obtenons donc cette école, tâche dans laquelle nous avons besoin de vérifier si un des champs n'est pas remplie et l'affichage d'une erreur. Nous avons fait cela, mais pour une raison étrange, il n'affiche pas une erreur quand un bouton radio est coché (un textfield null vérifier fonctionne très bien).
J'ai essayé avec un ami de nombreuses possibilités, mais ils ne semblent pas fonctionner. Nous avons été coincés à cette tâche pendant deux heures. Maintenant, nous avons essayé de faire séparée if
's, mais qui ne semble pas trop de travail.
Ce sont les parties importantes:
<p>
<input type="hidden" name="taal" value="false">
Choose a language
<input type="radio" name="taal" value="N"> Dutch
<input type="radio" name="taal" value="E"> English
<input type="radio" name="taal" value="S"> Spanish
if (@$_POST['taal'] == null){
echo "No Language gotten";
return;
}
Suppression des erreurs n'est pas recommandé. Utilisation
Il était clair que dans ce cas, mais je recommande d'éviter d'utiliser l'expression "ça ne fonctionne pas" - c'est mieux d'expliquer ce qui vous attend, et ce que vous avez
if (!isset($_POST['taal']))
à la place.if (empty($_POST['taal'])) { ... }
et faire value=""
dissimulées pour l'entrée. PS: var_dump($_POST);
- cela permettrait de répondre à toutes vos questions sans perdre votre tempsIl était clair que dans ce cas, mais je recommande d'éviter d'utiliser l'expression "ça ne fonctionne pas" - c'est mieux d'expliquer ce qui vous attend, et ce que vous avez
:)
.OriginalL'auteur Dallox | 2012-10-06
Vous devez vous connecter pour publier un commentaire.
Vous pouvez omettre le caché tag:
Et l'utilisation
isset()
pour vérifier si la valeur a été envoyé. Si aucun des boutons radio sont vérifiées,taal
sera tout simplement pas être ajouté à la publication des données. Donc, vous avez pour vérifier si elle a été définie ou pas, vous pouvez le faire avecisset()
:Aussi, dans la plupart des cas, il est recommandé pas d'utiliser le
@
de l'opérateur. Les messages d'erreur (avertissements, remarques, etc.) sont là pour vous avertir d'un problème dans votre code. Résoudre le problème au lieu de le cacher, ou il peut revenir et vous mordre plus tard.J'ai vu beaucoup de manuels scolaires qui ne devraient pas avoir été écrit à tous.
Yeh notre livre est probbaly l'un d'eux. A obtenu des charges et des charges d'erreurs. Nous avons peut-être mieux d'apprendre à partir de l'internet..
Dans la plupart des cas, l'Internet est encore pire. Il y a des charges de la vétusté et de la terrible PHP tutoriels qui vous enseignent des pratiques que vous ne devez jamais utiliser - vous devez être très prudent. Sur StackOverflow la situation est bien meilleure. Et le Manuel PHP est très recommandé de lire attentivement et de façon habituelle.
Merci beaucoup. malade à garder à l'esprit 🙂
OriginalL'auteur kapa
OriginalL'auteur Rajat Singhal
C'est parce qu'il ne sera jamais vide. Vous lui avez donné une valeur par défaut,
"false"
. Contre-vérifier que:OriginalL'auteur Madara Uchiha
La valeur 'false' dans votre élément masqué est une chaîne, donc vous devriez comparer
$_POST['taal'] == 'false'
pour que cela fonctionne.Il serait probablement mieux de cette fausse élément d'une chaîne vide, puis de le comparer avec
''
. Aussi, je ne recommande pas d'utiliser@
pour supprimer les avertissements, alors essayez ceci:$_POST['taal'] == ''
ressemble un peu mieux écrit que!$_POST['taal']
bonne idée, la corriger. Merci.
OriginalL'auteur halfer
Parfois il est plus facile en utilisant le point d'interrogation de l'opérateur, comme indiqué ci-dessus.
S'il vous plaît ajouter explication de votre réponse
Eh bien, c'est la façon dont je traite ce problème et je suppose que c'est plus facile à utiliser et il peut aussi être utilisé en ligne dans le code. Je n'ai pas vu une telle réponse à cette question, donc, je partage avec vous les gars. Espérons qu'il sera utile.
OriginalL'auteur Alireza Feyzyab