Как вывести правильные ответы из приложения php викторина - PullRequest
0 голосов
/ 11 октября 2019

Я работаю над небольшим PHP-проектом викторины, и я хотел бы вывести правильный ответ, когда студент выберет неправильный. Как я могу это сделать?

Я бы хотел отобразить правильный ответ на последней странице. У меня уже есть итоговая оценка, отображаемая на этой странице.

// Process code file
<?php include 'database.php'; ?>
<?php session_start(); ?>
<?php 


    $selected_choice = $_POST['choice'];
    $next=$number+1;
    $total=4;

    //Get total number of questions
    $query="SELECT * FROM questions";
    $results = $mysqli->query($query) or die($mysqli->error.__LINE__);
    $total=$results->num_rows;

    //Get correct choice
    $q = "SELECT * FROM choices WHERE question_number = $number and is_correct=1";
    $result = $mysqli->query($q) or die($mysqli->error.__LINE__);
    $row = $result->fetch_assoc();
    $correct_choice=$row['id'];



    //compare answer with result
    if($correct_choice == $selected_choice){
        $_SESSION['score']++;
    } else {

    }


    if($number == $total){
        header("Location: final.php");
        exit();
    } else {
            header("Location: question.php?n=".$next."&score=".$_SESSION['score']);
    }}?> 

// И это код файла окончательной страницы:

  <main>
<div class="container">
     <h2>You are Done!</h2>
     <p>Congrats! You have completed the test</p>
     <p>Final score: <?php echo $_SESSION['score']; ?></p>
     <a href="question.php?n=1" class="start">Take Test Again</a>
     <?php session_destroy(); ?>
</div>
  </main>


<footer>

</footer>

Заранее спасибо.

1 Ответ

0 голосов
/ 11 октября 2019

В этой части проверки, если ответ неправильный, добавьте верный ответ в сеансе, в противном случае удалите правильный ответ из session

if($correct_choice == $selected_choice){
  $_SESSION['score']++;
  unset($_SESSION['correct_answer']);
} else {
  $_SESSION['correct_answer'] = $correct_choice;
}

, после чего вы можете легко напечатать его в своем pageкак это

<?php if(isset($_SESSION['correct_answer'])): ?>
<div class="alert alert-danger">
Correct Answer is: 
<?= $_SESSION['correct_answer'] ?>
</div>
<?php endif ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...