首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP在线考试Web应用程序

PHP在线考试Web应用程序
EN

Stack Overflow用户
提问于 2012-04-01 13:03:00
回答 3查看 7.6K关注 0票数 1

我正在用php-mysql开发在线考试系统。该考试将由多项选择题组成,我遵循以下步骤:

1 ). I在数据库表中添加所有问题&它们的多个选项(每个问题有4个选项)。

2 ).给出了值1来更正答案,给出了错误答案的值0

3 ).当用户单击完成考试按钮时,他们的所有答案将相互添加。例如,

0+1+1+0+0+0+1针对七个不同的问题和结果将类似于这个3/7

现在,有人能告诉我,这个过程对于这类应用程序来说是可以的,或者我需要使用其他方法来改进它。提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-01 13:11:59

只是几个想法。你也要储存个别的答案吗?如果没有,那么您将无法返回查看/显示用户选择的答案。

如果使用这种方法,请确保响应的表单值不是01,就好像人们对此有所了解一样,他们可能会查看HTML并作弊。

为了防止这种情况,一种方法是为每个表单响应值分配其他/随机值,然后使用PHP检查响应。例如:

代码语言:javascript
复制
<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代码中,检查每个答案,以确保响应是有效的,并适当地增加分数。例如:

代码语言:javascript
复制
if ($_POST['q1'] == 'apples')
{
    $score++;
}

我见过一些多项选择问卷会惩罚不正确的回答(例如,你因为一次无效的尝试而失去了分数)。如果你想阻止人们选择随机答案,这会有所帮助。当然,要使其工作,还需要允许一个“不确定”的响应(在您的情况下,这将导致0),然后不正确的响应会增加一个负值。

我希望这能帮到你

票数 1
EN

Stack Overflow用户

发布于 2012-04-01 13:13:13

您的方法似乎很好,但是您需要定义行为来处理那些被错误和正确的选择所回答的问题。

如果每个问题的四个可能答案中只有一个是正确的,那么做出单个选择问题(单选按钮)而不是多项选择(复选框组)似乎更符合逻辑。

很明显,这是你考试技巧的设计问题。

票数 2
EN

Stack Overflow用户

发布于 2012-04-01 13:19:56

选择题通常有三种类型的答案:

  • 更正+1
  • 不正确-1
  • 不回答0

所以基本上你只需要在数据库上保存正确的答案。我把桌子设计成这样:

测试

id

名字

主题

..。

问题

id

名字

correct_answer

incorrect_answers (csv?)

test_questions

id_test

id_question

使用这种方法,您可以通过从试题表中选择问题来设计任意数量的问题。对于用逗号分隔的不正确答案,只能有一个字段,因此以后可以添加更多内容,而不需要向表中添加新列。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9964589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档