我正在用php-mysql开发在线考试系统。该考试将由多项选择题组成,我遵循以下步骤:
1 ). I在数据库表中添加所有问题&它们的多个选项(每个问题有4个选项)。
2 ).给出了值1来更正答案,给出了错误答案的值0。
3 ).当用户单击完成考试按钮时,他们的所有答案将相互添加。例如,
0+1+1+0+0+0+1针对七个不同的问题和结果将类似于这个3/7
现在,有人能告诉我,这个过程对于这类应用程序来说是可以的,或者我需要使用其他方法来改进它。提前谢谢。
发布于 2012-04-01 13:11:59
只是几个想法。你也要储存个别的答案吗?如果没有,那么您将无法返回查看/显示用户选择的答案。
如果使用这种方法,请确保响应的表单值不是0和1,就好像人们对此有所了解一样,他们可能会查看HTML并作弊。
为了防止这种情况,一种方法是为每个表单响应值分配其他/随机值,然后使用PHP检查响应。例如:
<input type="radio" name="q1" value="apples" /> Apples<br />
<input type="radio" name="q1" value="pears" /> Pears<br />
<input type="radio" name="q1" value="oranges" /> Oranges然后,在PHP代码中,检查每个答案,以确保响应是有效的,并适当地增加分数。例如:
if ($_POST['q1'] == 'apples')
{
$score++;
}我见过一些多项选择问卷会惩罚不正确的回答(例如,你因为一次无效的尝试而失去了分数)。如果你想阻止人们选择随机答案,这会有所帮助。当然,要使其工作,还需要允许一个“不确定”的响应(在您的情况下,这将导致0),然后不正确的响应会增加一个负值。
我希望这能帮到你
发布于 2012-04-01 13:13:13
您的方法似乎很好,但是您需要定义行为来处理那些被错误和正确的选择所回答的问题。
如果每个问题的四个可能答案中只有一个是正确的,那么做出单个选择问题(单选按钮)而不是多项选择(复选框组)似乎更符合逻辑。
很明显,这是你考试技巧的设计问题。
发布于 2012-04-01 13:19:56
选择题通常有三种类型的答案:
所以基本上你只需要在数据库上保存正确的答案。我把桌子设计成这样:
测试
id
名字
主题
..。
问题
id
名字
correct_answer
incorrect_answers (csv?)
test_questions
id_test
id_question
使用这种方法,您可以通过从试题表中选择问题来设计任意数量的问题。对于用逗号分隔的不正确答案,只能有一个字段,因此以后可以添加更多内容,而不需要向表中添加新列。
https://stackoverflow.com/questions/9964589
复制相似问题