Php 添加用户';s测试结果的选择
这有点难解释,所以请容忍我 我已经编写了一个数据库驱动的测试脚本,它运行得非常好。用户选择答案并按下提交按钮后,他们将被转发到一个页面(grade.php),该页面显示他们的分数 分数下面是他们刚刚参加的测试的副本,正确答案突出显示。我只想修改它,以便用户选择的答案也会突出显示 例如,如果用户选择了答案a,而这是正确的答案,那么它可能有一个黄色背景(表示它是正确的答案)加上一个金星(表示用户选择了正确的答案)。如果用户选择了B,那么它可能有一个黑色背景(表明它是一个错误的选择),另外它可能有一个显示复选标记的图像,表明用户选择了不正确的答案 让我们从测试页面底部的表单开始:Php 添加用户';s测试结果的选择,php,jquery,Php,Jquery,这有点难解释,所以请容忍我 我已经编写了一个数据库驱动的测试脚本,它运行得非常好。用户选择答案并按下提交按钮后,他们将被转发到一个页面(grade.php),该页面显示他们的分数 分数下面是他们刚刚参加的测试的副本,正确答案突出显示。我只想修改它,以便用户选择的答案也会突出显示 例如,如果用户选择了答案a,而这是正确的答案,那么它可能有一个黄色背景(表示它是正确的答案)加上一个金星(表示用户选择了正确的答案)。如果用户选择了B,那么它可能有一个黑色背景(表明它是一个错误的选择),另外它可能有一个
<form action="grade.php" method="post" id="quiz">
<input type="hidden" name="PreviousURL" id="url" />
<input type="hidden" name="grade" value="<?php echo $grade; ?>" />
<input type="hidden" name="user_token" value="<?php echo isset($_POST['user_token']) ? $_POST['user_token'] : '' ; ?>" />
<input type="submit" value="Submit Quiz" />
</form>
大多数是选择题,用户从中选择一个最佳答案。在本例中,他们必须为#5键入答案,并为#9选择两个选项(复选框)
如果他们得到的每个答案都是正确的,则响应var_dump($\u POST);显示以下内容:
array(13) {
["q1"]=> array(1) { [0]=> string(1) "D" }
["q2"]=> array(1) { [0]=> string(1) "A" }
["q3"]=> array(1) { [0]=> string(1) "C" }
["q4"]=> array(1) { [0]=> string(1) "A" }
["q5"]=> array(1) { [0]=> string(5) "Libya" }
["q6"]=> array(1) { [0]=> string(1) "B" }
["q7"]=> array(1) { [0]=> string(1) "B" }
["q8"]=> array(1) { [0]=> string(1) "B" }
["q9"]=> array(2) { [0]=> string(1) "C" [1]=> string(1) "D" }
["q10"]=> array(1) { [0]=> string(1) "D" }
["PreviousURL"]=> string(25) "http://g1/test/px-intro-4"
["grade"]=> string(147) "
}
如果他们再次参加测试,但未通过9题,而根本没有回答10题,数组将更改为:
array(12) {
["q1"]=> array(1) { [0]=> string(1) "D" }
["q2"]=> array(1) { [0]=> string(1) "A" }
["q3"]=> array(1) { [0]=> string(1) "C" }
["q4"]=> array(1) { [0]=> string(1) "A" }
["q5"]=> array(1) { [0]=> string(5) "Libya" }
["q6"]=> array(1) { [0]=> string(1) "B" }
["q7"]=> array(1) { [0]=> string(1) "B" }
["q8"]=> array(1) { [0]=> string(1) "B" }
["q9"]=> array(2) { [0]=> string(1) "B" [1]=> string(1) "D" }
["PreviousURL"]=> string(25) "http://g1/test/px-intro-4"
["grade"]=> string(147) "
}
为了让它更清楚,想象一下结果页面(grade.php)上的以下文本:
我应该提到的是,我对jQuery有一点经验,尽管我主要是使用PHP——以防万一有jQuery解决方案。这个问题有点不清楚,也不知道您现在是怎么做的,但我可以这样做。使用多种样式,如当用户选择正确答案时
style=“answer correct\u selected”
和如果用户选择错误答案时style=“error\u answer error\u selected”
以及其他样式的混合。在样式中,答案
应该有黄色背景,选择正确
会有一颗金星,选择错误
会有支票等等……谢谢,但我已经指定了独特的样式。问题是我知道如何“识别”一个答案是正确的还是不正确的,但我不知道如何也将其识别为用户“选择的”。可能有一个非常简单的解决方案就在我眼前,但我还没有找到它。如果选择q1
指的是您提供的答案键中的问题1,那么您可以使用以下选项。用户选择的内容在q1
中可用,现在请删除q
,然后按下应答键。如果他们匹配,答案是正确的,否则就错了。
array(12) {
["q1"]=> array(1) { [0]=> string(1) "D" }
["q2"]=> array(1) { [0]=> string(1) "A" }
["q3"]=> array(1) { [0]=> string(1) "C" }
["q4"]=> array(1) { [0]=> string(1) "A" }
["q5"]=> array(1) { [0]=> string(5) "Libya" }
["q6"]=> array(1) { [0]=> string(1) "B" }
["q7"]=> array(1) { [0]=> string(1) "B" }
["q8"]=> array(1) { [0]=> string(1) "B" }
["q9"]=> array(2) { [0]=> string(1) "B" [1]=> string(1) "D" }
["PreviousURL"]=> string(25) "http://g1/test/px-intro-4"
["grade"]=> string(147) "
}