如何使用PHP计算测验分数?
我正在做测验。我想计算用户提交尝试后获得的总分。如何创建一个结果页面,显示用户提交答案后获得的分数。如何获得总分,使每个正确答案得到1/(测验中的问题总数) 这就是我目前所拥有的,我似乎无法让它工作如何使用PHP计算测验分数?,php,html,function,count,Php,Html,Function,Count,我正在做测验。我想计算用户提交尝试后获得的总分。如何创建一个结果页面,显示用户提交答案后获得的分数。如何获得总分,使每个正确答案得到1/(测验中的问题总数) 这就是我目前所拥有的,我似乎无法让它工作 <?php require_once 'getData.php'; require_once 'testing.php'; foreach( $quizHistoryQ as $index => $arr ){ $answer=$arr['answer'];
<?php
require_once 'getData.php';
require_once 'testing.php';
foreach( $quizHistoryQ as $index => $arr ){
$answer=$arr['answer'];
if (!isset($_POST['submitter'])) {
} else {
$num = (int) $_POST['num'];
$postedanswer = str_replace("_"," ",$_POST['answer']);
if ($postedanswer == $answers[$num]['0']) {
$_SESSION['score']++;
$_SESSION['correct'][] = $postedanswer;
} else {
$_SESSION['wrong'][] = $postedanswer;
}
if ($num < count($questions)-1) {
$num++;
} else {
$last = true;
$_SESSION['finished'] = 'yes';
}
}
}
看起来您没有正确比较答案
更改此项:
if ($postedanswer == $answers[$num]['0']) {
为此:
if ($postedanswer == $answer) {
另外,您是否在代码中的任何地方调用会话\u start
?不清楚您是否正在这样做。首先,这是错误的:
if ($num < count($questions)-1) {
在HTML中用于编写您应该缩进第一个代码段的代码。如果($num count($questions)-1)
应该是如果($num
谢谢您的帮助,但我仍然无法让代码正常工作。我已经贴了一张剪贴画,上面的错误是我无法找出哪里出了问题。你能帮我吗?嗨!谢谢你的帮助,但在实施了你的建议后,我仍然会出错。也许我点错菜了。你能给我发电子邮件告诉我密码吗?谢谢,我不会为你写完整的代码。如果其中一个答案解决了此问题的主要问题,请接受答案。如果你遇到一个新问题,问一个新问题。
if ($num < count($questions)-1) {
if ($num < count($questions)-1) {
if ($postedanswer == $answers[$num]['0']) {
if ($postedanswer == $answer) {
$answer=$arr['answer'];
$postedanswer = str_replace("_"," ",$_POST['answer']);
array(3) {
["Q1"]=>
array(1) {
[0]=>
int(1)
}
["Q2"]=>
array(1) {
[0]=>
int(5)
}
["Q3"]=>
array(1) {
[0]=>
int(2)
}
}
name='answers[{$index}]'
array(1) {
["answers"]=>
array(3) {
["Q1"]=>
int(1)
["Q2"]=>
int(5)
["Q3"]=>
int(2)
}
}
foreach( $quizHistoryQ as $index => $arr ){
$answer = $arr['answer'];
$postedanswer = intval( $_POST['answers'][$index] );
if ( $answer == $postedanswer ) {
$_SESSION['score']++;
}
}