2012-05-07 68 views
0

我有多项选择问答题是这样PHP测验显示号码接听

<p>1. Is Manhattan near New York?<br> 
    <input type="radio" name="ans1" value="3"> 
    Yes<br> 
    <input type="radio" name="ans1" value="2"> 
    Maybe<br> 
    <input type="radio" name="ans1" value="1"> 
    No</p> 
    <p>2. Do you like Indian food?<br> 
    <input type="radio" name="ans2" value="1"> 
    Some times<br> 
    <input type="radio" name="ans2" value="3"> 
    Never<br> 
    <input type="radio" name="ans2" value="2"> 
    Always</p> 

页发送到自身并检查一个PHP页面,如果答案是对还是错这样

if($ans1 == "3") { 
$test_complete .="Question one is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question one is <span class='red'>incorrect</span>!<br/>"; 
} 
// change the quest2 to the right answer 
if($ans2 == "2") { 
$test_complete .="Question two is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question two is <span class='red'>incorrect</span>!<br/>"; 
} 

现在不是讲的是回答一个或两个是正确的用户我想在何处运行它计算的正确和错误答案的人数的数量和与一个箱子沿其显示两个表盒计数器问题总数。

+0

“你喜欢印度食物?” “从不”“你的回答不正确!” –

回答

1

有多种方法可以做到这一点。我会有一系列与问题相对应的正确问题,然后进行比较。例如:

$correct_answers = array('3', '2'); 
for ($i = 0; $i < $number_of_questions; $i++) 
{ 
    $ans_var = 'ans'.$i; 
    if ($_POST[$ans_var] == $correct_answers[$i]) 
    { 
     $score++; 
    } 
} 
1

这样子......?

$result = $ans1 == 3; 
$result += $ans2 == 2; 
$result += $ans3 == 1; 

echo "You got $result/3 questions right"; 

http://codepad.org/6zBQXQIT

+0

如何显示错误答案的数量呢? – ABI

+0

@ABI,除非你动态地添加问题,那么你应该只能数它们...... – Petah

0

如果我理解正确的问题...

session_start(); 
if (!isset($_SESSION['total'])){$_SESSION['total']=0;} 
if (!isset($_SESSION['correct'])){$_SESSION['correct']=0;} 
if($ans1 == "3") {$_SESSION['correct']+=1;} 
if($ans2 == "2") {$_SESSION['correct']+=1;} 
if (isset($ans1) || isset($ans2)) {$_SESSION['total']+=1} 
echo '<table><tr><td>Correct answers:</td><td>'.$_SESSION['correct'].'</td></tr>'; 
echo '<tr><td>Wrong answers:</td><td>'.$_SESSION['total']-$_SESSION['correct'].'</td></tr>'; 
echo '<tr><td>Total answers</td><td>'.$_SESSION['total'].'</td></tr></table>'; 
+0

你为什么要将它存储在会话中? – Petah

+0

我以为会有几个问题的帖子,但我不明白,我可能有问题。 –