2010-11-25 7 views
0

私は、はい/いいえ回答を掲示しているラジオボタンの負荷があるフォームを持っています。彼らはすべてYESで、空ではないことを確認したい。すべてのポスト値=はいをチェックして、空ではありません

session_start(); 

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

をしたい任意の助けいただければ幸いです。私はISSETとEMPTYを試してみましたが、どれも働いていませんでした。 – Andy

+0

ラジオボタン名の名前を持つ配列を作成しない限り、配列を繰り返して$ _POSTと比較してください。 – ajreal

+0

ありがとうございました:) – Andy

答えて

1

投稿値が正しく取得されていると仮定すると、この欠陥はあなたのロジックにあります。あなたがいない後のイエスは= 2

エラーを設定することを意味

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

を言っているの

おそらく

$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

これはボックスをクリックしないとチェックしません.... – Andy

+0

ラジオボタンが想定されていますその中に価値を持つこと。すべてが提出されたことを確認したい場合は、値を必要とするすべてのフィールドのサーバー側に一致する配列が必要です。値が含まれていない場合は$ _POST配列には含まれません。 – Gazler

+0

あなたのコードメイトのおかげです。病気はそこにデフォルト値を置きます。 – Andy