Jump to content

gbelfast

New Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by gbelfast

  1. 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>
    
×
×
  • 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.