Jump to content

i am making code for online exam...and if i submit then its not count the correct answer..where is error..please tell me..


ashish11

Recommended Posts

 

 
<?php
include("connection.php");
$display = mysql_query("SELECT * FROM quiz ORDER BY qid");   
if (!$_POST['submit']) {
 echo "<form method=post action=$PHP_SELF>";   
 echo "<table border=0>";    
while ($row = mysql_fetch_array($display)) {    
$id = $row["qid"];   
$question = $row["Question"];   
$opt1 = $row["opt1"];   
$opt2 = $row["opt2"];   
$opt3 = $row["opt3"];   
$answer = $row["answer"];  
echo "<tr><td colspan=3><br><b>$question</b></td></tr>";   
echo "<tr><td><input type=radio name='q$id' value=\"$opt1\">$opt1 </td>
          <td><input type=radio name='q$id' value=\"$opt2\">$opt2 </td>
          <td><input type=radio name='q$id' value=\"$opt3\"></td>$opt3 </tr>";
     }    
echo "</table>";   
echo "<input type='submit' value='See how you did' name='submit'>";   
echo "</form>";
} elseif ($_POST['submit']) {     
$score = 0;   
$total=mysql_num_rows($display);       
while ($result = mysql_fetch_array($display)) {                           
$answer = $result['answer'];           
$q = "q$result[qid]";                   
$q = trim($q);
if ($_POST[$q] == $answer) {               
$score++;                
}       
}       
echo "<p align=center><b>You scored $score out of $total</b></p>";   
echo "<p>";       
} 
?>
 
 
 

rather than just dumping your code on a forum, what have you done to troubleshoot what your code is doing? is your form processing code running at all? is the while(){} loop running? what are the exact values being tested by your logic statement- if ($_POST[$q] == $answer) { (hint: user var_dump() to see the value and length of a php variable)

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.