测验代码中的PHP $ _POST

时间:2015-03-20 07:58:56

标签: php mysql post

嗨老年人和专业人士,

我在php中并不完美。尝试从我在一些教程网站上找到的脚本开发一个测验应用程序。虽然我理解代码,但一行给我带来问题。以下是代码:

    $right_answer=0;
    $wrong_answer=0;
    $unanswered=0; 

   $keys=array_keys($_POST);
   var_dump($keys);
   $order=join(",",$keys);

   //$query="select * from questions id IN($order) ORDER BY FIELD(id,$order)";
  // echo $query;exit;
   $database2 = new Database();
   $response="select id,answer from questions where id IN($order) ORDER BY FIELD(id,$order)";
   $database2->query($response);
   $res = $database2->resultset();
   foreach($res as $result){
       if($result['answer']==$_POST[$result['id']]){
               $right_answer++;
           }else if($_POST[$result['id']]==5){
               $unanswered++;
           }
           else{
               $wrong_answer++;
           }
   }

我尽我所能但无法理解以下代码:

if($result['answer']==$_POST[$result['id']])

我找到了整个脚本但找不到从表单发送的post变量。请帮我。我甚至不知道我的询问方法是对还是错。这是我第一次堆叠流量,所以我犯了任何错误,请接受我的道歉。

1 个答案:

答案 0 :(得分:-1)

替换这些行:

if($result['answer']==$_POST[$result['id']]){
     $right_answer++;
}else if($_POST[$result['id']]==5){
    $unanswered++;
}

用这些:

if($result['answer']==$_POST[$result]['id']){
    $right_answer++;
} else if($_POST[$result]['id']==5){
    $unanswered++;
}