2012-09-24 110 views
0

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

在第二个代码中,执行'print_r($ _ SESSION);'并查看你的会话是否有正确的值!? – Night2

+1

可能是您的条件正在评估false .. –

+0

我在哪一行填写:print_r($ _ SESSION); ?? – Sebastian

回答

3

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

目前您拥有:

$totalCorrect = 0; 

但是,如果您使用:

$totalCorrect = $_SESSION['totalcorrect']; 

它将带有各个页面。

最后,呼应它作为:

echo $totalCorrect; 

而且,我不确定你为什么即使使用此变量的会话 - 它似乎只在最后一页中使用 - 那么,为什么使用会话它的变量呢?

+0

感谢Fluffeh,代码是固定的感谢你:) – Sebastian

相关问题