嗨老年人和专业人士,
我在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变量。请帮我。我甚至不知道我的询问方法是对还是错。这是我第一次堆叠流量,所以我犯了任何错误,请接受我的道歉。
答案 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++;
}