我正在尝试通过填写测验的一些问题来生成分数。 但是,我正在使用SESSIONS,我的分数数据不会总结。我看到3出现了,但是有6个问题,每个好的答案都值3分。因此,如果所有答案都正确,则总分应为18。
有人可以告诉我如何解决这个问题吗?
QUIZ.PHP
<?php
session_start();
$_SESSION["vraag1_antwoorden"] = $_POST["vraag1_antwoorden"];
$_SESSION["vraag2_antwoorden"] = $_POST["vraag2_antwoorden"];
$_SESSION["vraag3_antwoorden"] = $_POST["vraag3_antwoorden"];
$_SESSION["vraag4_antwoorden"] = $_POST["vraag4_antwoorden"];
$_SESSION["vraag5_antwoorden"] = $_POST["vraag5_antwoorden"];
$_SESSION["vraag6_antwoorden"] = $_POST["vraag6_antwoorden"];
?>
RESULT.PHP
<?php
session_start();
$answer1 = $_SESSION['vraag1_antwoorden'];
$answer2 = $_SESSION['vraag2_antwoorden'];
$answer3 = $_SESSION['vraag3_antwoorden'];
$answer4 = $_SESSION['vraag4_antwoorden'];
$answer5 = $_SESSION['vraag5_antwoorden'];
$answer6 = $_SESSION['vraag6_antwoorden'];
$totalCorrect = 0;
if ($answer1 == "A") { $totalCorrect += 3;}
if ($answer2 == "C") { $totalCorrect += 3;}
if ($answer3 == "C") { $totalCorrect += 3;}
if ($answer4 == "C") { $totalCorrect += 3;}
if ($answer5 == "B") { $totalCorrect += 3;}
if ($answer6 == "C") { $totalCorrect += 3;}
echo $_SESSION['totalcorrect'] = $totalCorrect;
session_destroy();
?>
答案 0 :(得分:3)
看起来你需要在使用它之前从会话中初始化它(目前每个页面从0开始):
目前你有:
$totalCorrect = 0;
但是如果你使用:
$totalCorrect = $_SESSION['totalcorrect'];
它将贯穿整个页面。
最后,将其反映为:
echo $totalCorrect;
另外,我不确定为什么你甚至为这个变量使用会话 - 它似乎只在最后一页中使用 - 所以为什么要使用会话变量呢?