在线考试系统的Php实现
我是一个新手PHP开发者,我想实现一个在线考试系统。我想实现一个一次只问一个问题的系统,即在回答第一个问题后,单击“新建”,然后将显示第二个问题。如何实现这一点?我必须通过会话来实现吗?我正在使用loop,但loop会一个接一个地显示20个问题。plzz帮助。您可以使用会话,是的。使用会话可以让你在一个页面中写出所有问题和所有内容,然后你可以使用开关/案例块在页面中写出正确的问题。使用表单上的post方法,在页面顶部检查post是否已设置,如果已设置,则将数据推送到正确的mysql语句中,然后显示下一个问题(基于会话变量)。一个非常简单的方法是实现一个html结构,该结构对于每个问题都是相同的。 在php中,在页面的开头,您只需检查post数据,如果没有,则加载第一个问题(在数据库中,或者根据需要硬编码)。 如果有post数据,则检查问题id是否存在,为用户保存答案,然后加载下一个问题 看起来有点像这样:在线考试系统的Php实现,php,Php,我是一个新手PHP开发者,我想实现一个在线考试系统。我想实现一个一次只问一个问题的系统,即在回答第一个问题后,单击“新建”,然后将显示第二个问题。如何实现这一点?我必须通过会话来实现吗?我正在使用loop,但loop会一个接一个地显示20个问题。plzz帮助。您可以使用会话,是的。使用会话可以让你在一个页面中写出所有问题和所有内容,然后你可以使用开关/案例块在页面中写出正确的问题。使用表单上的post方法,在页面顶部检查post是否已设置,如果已设置,则将数据推送到正确的mysql语句中,然后显
<?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>
到目前为止你试过什么吗?你能发布你的代码吗?会话是一种工具,但它们不是完成事情的唯一方式。你可以简单地使用分页方式来实现它。一页上只有一个结果就是这样