Jump to content

Helped need with processing a Multiple Choice Quiz script (php mysql)


gbelfast

Recommended Posts

I am pretty new to using php and mysql and am struggling to understand how to go about processing a multiple choice quiz script to check if the answer given by the user is right or wrong and give the user the final result . I understand how to write and process register pages and login scripts and the like but for some reason I just can't understand what i need to do for this type of script
So far my thinking has been 
 
1) When the page is submitted have a query that compares the answer selected to the answer in the database.
2) Have php variables for correct and and incorrect both initialised to 0 and which will change depending on the answers given.  
3) Use an if else statement similar to the code below to add up the score : -
  if($result['answer']==$_POST[$result['id']]){
               $correct_answer++;
      }else{
               $incorrect_answer++;
           }

4) Have a query that enters the person taking the quiz's grade in to the database. 
 
I would really appreciate it someone could give me some guidance for the best way to do this.  I have included below my code for selecting the questions form the database.     

 

 
<?php
 
 // Starts the session
session_start();
 
/*
*/
 
 
if (!isset($_SESSION['user_level']) or ($_SESSION['user_level'] != 0))
{
   header("Location: error_page.php");
   exit();
}
?>
<?php 
   
     require_once ('mysqli_connect.php'); 
     
$email_address = ['email_address'];
     $quizGradeBegan=("INSERT INTO learner_grade_db( email_address, score, )VALUES ('$email_address',0) ");
$result=@mysqli_query($dbcon, $submittedAnswerQuery);
 
 
if(isset($_SESSION['email_address'])){
?>
 
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Q-Quiz: Learner Homepage</title>
<link rel="stylesheet" href="sdnt.css" />
</head>
<body>
      
<div class="wrapper">  <!-- Start of wrapper div -->
<div class="header"> <!-- Start of header div -->
<h1>e-Quiz: <br> Learner Homepage</h1>
 
 
          <?php 
              //Makes a call to includes/leaner_nav.php in order to show The Learner Navigation Bar
     require_once("includes/learner_nav.php");
 //Makes a call to includes/welcome_name.php in order to show the Learners name. 
              require_once("includes/welcome_name.php");
 /*Makes a call to includes/current_date in order to shows the current date.
     Will appear in the Day Month Year Format.*/
   require_once("includes/current_date.php");
 
           ?>
         
<!-- Shows the Change text size images -->
         <div id="textSizer"><!-- Start of the textSizer div -->
           <img id="smallStyler"  class="textSize" src="imgs/fontSmall.jpg"  height="18" width="18" alt="Smallest" />
           <img id="mediumStyler" class="textSize" src="imgs/fontMedium.jpg" height="18" width="18" alt="Default"  />
           <img id="largeStyler"  class="textSize" src="imgs/fontLarge.jpg"  height="18" width="18" alt="Biggest"  />
        </div> <!-- End of textsizer div -->
     </div><!-- End of Header div -->
 
   
    <div class="article"> <!-- Start of the article div -->
<?php
 
 
$query=("SELECT  question_id, question, distractor_1, distractor_2, distractor_3, distractor_4 FROM multiplechoice_db ORDER BY RAND() LIMIT 3 " );
$result = @mysqli_query ($dbcon, $query); // Run the query.
while($row = mysqli_fetch_array($result, MYSQL_BOTH)):?>
<br>
 <form  action="gradepage.php" method="post">
<?php echo $row['question_id'];?>
<br>
<?php echo $row['question'];?>
<br>
 
                    <input type="radio" value="1" id=' distractor  <?php echo $row['question_id'];?>' name ='<?php echo $row['question_id'];?>'/><?php echo $row['distractor_1'];?>
                    <br>
                    <input type="radio" value="2" id=' distractor  <?php echo $row['question_id'];?>'  name ='<?php echo $row['question_id'];?>'/><?php echo $row['distractor_2'];?>
                    <br>
                    <input type="radio" value="3" id=' distractor  <?php echo $row['question_id'];?>'  name ='<?php echo $row['question_id'];?>'/><?php echo $row['distractor_3'];?>
                    <br>
                    <input type="radio" value="4" id=' distractor  <?php echo $row['question_id'];?>'  name ='<?php echo $row['question_id'];?>'/><?php echo $row['distractor_4'];?>
                    <br>
<?php endwhile;?>
<p>  <input id="submit" type="submit" name="submit" value="Click To Submit Completed Quiz "></>
            </div> <!-- End of the article div -->
 
<div class="aside"> <!-- Start of the aside div -->
<ul class="nav2">
   
          <?php 
     //Makes a call to includes/leanersidebar1.php in order to show The Learner Sidebar
     require_once("includes/learnersidebar1.php");
 ?>
   </ul>
 <br><br><br><br><br>
 
 
</div> <!-- End of the aside div -->
 
<div class="footer "><!-- Start of the footer div -->
 
 <?php
      //Makes a call to includes/footer.php in order to show the Footer 
       require_once("includes/footer.php"); 
 ?>
 
</div><!-- End of the footer div -->
</div><!-- End of the wrapper div -->
</body>
<html>

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.