2012-09-24 109 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

相關問題