在线考试系统的Php实施

时间:2015-08-06 15:51:29

标签: php

我是一个新手PHP devloper,我想实现一个在线考试系统。我想实现一个系统,一次询问一个问题,即在回答第一个问题后点击newxt,然后显示第二个问题。怎么实现这个?我必须通过会议实施吗?我正在使用循环但循环显示20个问题一个接一个的帮助。

2 个答案:

答案 0 :(得分:1)

一种非常简单的方法是实现每个问题都相同的html结构。 在php中,在页面的开头,您只需检查发布数据,如果没有,则加载第一个问题(在数据库中,或者根据需要进行硬编码)。 如果有帖子数据,你检查问题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>

答案 1 :(得分:0)

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