Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在线考试系统的Php实现_Php - Fatal编程技术网

在线考试系统的Php实现

在线考试系统的Php实现,php,Php,我是一个新手PHP开发者,我想实现一个在线考试系统。我想实现一个一次只问一个问题的系统,即在回答第一个问题后,单击“新建”,然后将显示第二个问题。如何实现这一点?我必须通过会话来实现吗?我正在使用loop,但loop会一个接一个地显示20个问题。plzz帮助。您可以使用会话,是的。使用会话可以让你在一个页面中写出所有问题和所有内容,然后你可以使用开关/案例块在页面中写出正确的问题。使用表单上的post方法,在页面顶部检查post是否已设置,如果已设置,则将数据推送到正确的mysql语句中,然后显

我是一个新手PHP开发者,我想实现一个在线考试系统。我想实现一个一次只问一个问题的系统,即在回答第一个问题后,单击“新建”,然后将显示第二个问题。如何实现这一点?我必须通过会话来实现吗?我正在使用loop,但loop会一个接一个地显示20个问题。plzz帮助。

您可以使用会话,是的。使用会话可以让你在一个页面中写出所有问题和所有内容,然后你可以使用开关/案例块在页面中写出正确的问题。使用表单上的post方法,在页面顶部检查post是否已设置,如果已设置,则将数据推送到正确的mysql语句中,然后显示下一个问题(基于会话变量)。

一个非常简单的方法是实现一个html结构,该结构对于每个问题都是相同的。 在php中,在页面的开头,您只需检查post数据,如果没有,则加载第一个问题(在数据库中,或者根据需要硬编码)。 如果有post数据,则检查问题id是否存在,为用户保存答案,然后加载下一个问题

看起来有点像这样:

<?php
function loadQuestion($id){
    //your logic to load the question
    return $question;
}
function saveAnswer($id,$answer){
    //your logic to save the answer
}
if($_POST){
    saveAnswer($_POST['id_question'],$_POST['answer'])
    $data = loadQuestion($_POST['id_question']+1);
}
else $data = loadQuestion(1); //first question
?>

<form method="POST">
    <input type="hidden" name="id_question" value="<?php echo $data["id_question"]; ?>" />
    <div class="questionDiv">
    <?php echo $data["question"]; ?>
    </div>
    answer: 
    <input type="text" value="" name="answer" />
    <input type="submit" value="send" />
</form>


到目前为止你试过什么吗?你能发布你的代码吗?会话是一种工具,但它们不是完成事情的唯一方式。你可以简单地使用分页方式来实现它。一页上只有一个结果就是这样