2011-06-21 14 views
-3

私がしようとしているのは、それぞれの回答に対してselect文を実行して、questionID = $iuserID = $userIDというデータベース内の回答を選択するので、これまでのようなクエリを設定していますが、行方不明か、私は何かを欠けていないか?また、両方のフィールドには値がありますが、どちらのフォームフィールドにも入力する必要があるというエラーメッセージが表示されます。フォーム処理

<?php 
         $i = 1; 
         while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
         ?> 
          <dl> 

           <dt style="width: 190px;"><label for="answer[<?php echo $row['id']; ?>]"><?php echo $row['question'] ?></label></dt> 
           <dd><input type="text" name="answer<?php echo $i ?>[<?php echo $row['id']; ?>]" size="54" /></dd> 

          </dl> 
         <?php 
         ++$i; 
         } 
         ?> 

if (empty($_POST['answer1'][$i]) || trim($_POST['answer1'][$i])=="") {$errors = "yes";} 
if (empty($_POST['answer2'][$i]) || trim($_POST['answer2'][$i])=="") {$errors = "yes";} 

// Error checking, make sure all form fields have input 
if ($errors == "yes") { 

    // Not all fields were entered error 
    $message = "You must enter values to all of the form fields!"; 

    $output = array('errorsExist' => true, 'message' => $message); 

} else { 

    $userID = mysqli_real_escape_string($dbc,$_POST['userID']); 
    $answer1 = mysqli_real_escape_string($dbc,$_POST['answer1'][$i]); 
    $answer2 = mysqli_real_escape_string($dbc,$_POST['answer2'][$i]); 

    $query = "SELECT * FROM manager_users_secretAnswers WHERE questionID = '".$questionID."' AND userID = '".$userID."'"; 
    $result = mysqli_query($dbc,$query); 
    echo $query; 
+1

$ {ID}またはその代わりに答えの_ $ {ID}を答える[ます$ id] ..あなたは同じことを繰り返し続けます私たちはあなたにそうしなければならないと言っていますが、間違っています。空(トリム($ _ POST ['answer1'] [$ i]))で十分です。余分なことをする必要はありません。もの。 – FinalForm

+1

PEAR :: QuickForm – powtac

答えて

2

PHPの自動修復に問題がある可能性があります。 IDSとの質問がありましthatyouとしましょう:あなたは使用している3,5,7,8:

empty($_POST['answer1'][$i]) 

$ _POST [ 'ANSWER1'] [3]あなたは、配列の3番目の要素を取得しています。

は、だから私はない配列表記を使用することをお勧めしますが、:入力名の場合 :答え|男