PHP-MySql中的在线考试Web应用程序

时间:2012-04-01 13:03:00

标签: php mysql

我正在开发php-mysql的在线考试系统。该考试将包括多项选择题;我按照以下步骤操作:

1)。我添加了所有问题&他们在数据库表中有多种选择(每个问题有4种选择)。

2)。我提供值1 来更正答案& 值0 错误答案。

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

对于这些 3/7

现在任何人都可以告诉我这个过程适用于那种类型的应用程序,或者我需要通过使用其他方法来改进它。提前谢谢。

3 个答案:

答案 0 :(得分:2)

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

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

显然这是考试技巧的设计问题

答案 1 :(得分:1)

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

如果您使用此方法,请确保响应的表单值不是01,就像人们对此明智一样,然后他们可能会查看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),然后不正确的响应会添加负值。

我希望这会有所帮助

答案 2 :(得分:1)

多项选择测试通常有三种答案:

  • 正确+1
  • 错误-1
  • 不回答0

所以基本上你只需要在数据库中保存正确的答案。我会这样设计表格:

<强>测试

ID

名称

受试者

...

<强>问题

ID

名称

correct_answer

incorrect_answers(csv?)

<强> test_questions

id_test

id_question

通过这种方法,您可以通过从问题表中选择问题来设计任意数量的问题。您可以只有一个字段用于以逗号分隔的错误答案,因此您可以稍后添加更多字段,而无需向表中添加新列。