$ totalCorrect ++不适用于$ _SESSION

时间:2012-09-24 07:56:12

标签: php session post count

我正在尝试通过填写测验的一些问题来生成分数。 但是,我正在使用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();
?>

1 个答案:

答案 0 :(得分:3)

看起来你需要在使用它之前从会话中初始化它(目前每个页面从0开始):

目前你有:

$totalCorrect = 0;

但是如果你使用:

$totalCorrect = $_SESSION['totalcorrect'];

它将贯穿整个页面。

最后,将其反映为:

echo $totalCorrect;

另外,我不确定为什么你甚至为这个变量使用会话 - 它似乎只在最后一页中使用 - 所以为什么要使用会话变量呢?