2010-11-25 4 views
0

J'ai un formulaire qui a une charge de boutons radio affichant des réponses oui/non. Id aiment vérifier qu'ils sont tous OUI et non vides.Vérifiez toutes les valeurs de poste = oui et ne sont pas vides

session_start(); 

if($_POST["minRequirementsForm"] == '1') { 
    foreach($_POST as $key => $value) { 
     if ($value == 'no') { 
      $error = 1; 
     } else { 
      $error = 2; 
     } 
    } 
} 
+0

Toute aide serait grandement appréciée. J'ai essayé ISSET ET VIDE et aucun d'eux n'a fonctionné. – Andy

+0

Impossible, sauf si vous construisez un tableau avec le nom des boutons radio, itérez le tableau et comparez par $ _POST – ajreal

+0

Merci ajreal :) – Andy

Répondre

1

En supposant que vous obteniez les valeurs de poste correctement, la faille est dans votre logique.

Vous dites

If the value is no 
    Error = 1 
Else If the value is yes 
    Error = 2 

Ce qui signifie que oui après ne sera mis en erreur = 2.

Vous voulez probablement

$required_fields = array("radio1" => NULL, "radio2" => NULL, "radio3" => NULL); 
if($_POST["minRequirementsForm"] == '1') { 
    $error = 2; 
    foreach($_POST as $key => $value) { 
     if ($value == 'no') { 
      $error = 1; 
     } 
     if (array_key_exists($key, $required_fields)) 
     { 
      unset($required_fields[$key]); 
     } 
    } 
    if (count($required_fields) > 0) 
    { 
     $error = 1; 
    } 
} 
+0

Cela ne vérifie cependant pas s'ils ne cliquent pas sur la case .... – Andy

+0

Les boutons radio sont supposés avoir une valeur en eux. Si vous souhaitez vérifier que tous ont été soumis, vous aurez besoin d'un tableau correspondant du côté serveur de tous les champs qui nécessitent une valeur, car ils ne seront pas dans le tableau $ _POST s'ils ne contiennent pas de valeur. – Gazler

+0

Ill utilisez votre code mate merci. Je colle une valeur par défaut là-dedans. – Andy

Questions connexes