How can make a simple quiz bij using PHP and Json

问题描述 投票:0回答:1

我正在创建一个简单的测验,我将使用 php 和 JSON,我想做的是测验将从第一个问题到第二个问题,如果选择了一个新答案,我希望它也保留在最后一页,如果所有的问题都填好了它会给出结果。

这就是我目前所拥有的 HTML

<!DOCTYPE html>
<html>
<head>
   
    <title>The quiz</title>
</head>
<body>

 <form action="/quiz/classes/quiz.php?" method="POST">
          <p>question</p>
          
            <input type="radio"  name="answer1">
            <label for="answer1">answer1</label><br>
        
            <input type="radio"  name="answer2">
            <label for="answer2">answer2</label><br>
        
            <input type="radio"  name="answer3">
            <label for="answer3">answer3</label><br>
 
     <input type="submit" value="Submit">
 </form>

    
</body>
</html>

PHP

class Quiz
   {

    public function __construct()
    {
        


        $answer = [];
        $answer[] = new Answer("answer 1", true);
        $answer[] = new Answer("answer 2", false);
        $answer[] = new Answer("answer 3", true);
 

        $question = [];       //parameters
        $question = new Question(1, "question 1", [$answer[1], $answer[3]]);
        $question = new Question(2, "question 2", [$answer[2], $answer[2]]);
        $question = new Question(3, "question 3", [$answer[3], $answer[1]]);

                        
        $this->quiz = new Quiz($vragen);


        $answer = json_encode([$_POST["question 1"], $_POST["question 2"], $_POST["question 3"]]);

        print_r(json_decode($answer));
    }

    


    
   }
php json post
1个回答
1
投票

我不会给你代码,但我会帮你弄明白。

如果您不打算使用 JavaScript 进行“流畅”的测验,您将需要做很多“加载下一页”的工作。

您已经有了“表单”元素和提交按钮,这太棒了。 接下来,您需要实际评估传递给 quiz.php 中的

$_POST
superglobal 的值,并将其存储在会话中。 (
session_start()
/
$_SESSION
).

使用会话中的信息,您的后端页面将始终知道已经回答了哪些问题,并能够显示“下一个”问题,直到所有问题都被问到。

由于您还在会话中存储了答案(或者更确切地说是“正确与否”),因此实际构建结果屏幕应该是微不足道的。

© www.soinside.com 2019 - 2024. All rights reserved.