0

クイズのいくつかの質問に記入してスコアを生成しようとしています。しかし、私は SESSIONS を使用していて、スコア データが合計されません。3 が表示されていますが、6 つの質問があり、それぞれの正しい答えは 3 ポイントの価値があります。したがって、すべての答えが正しい場合、合計スコアは 18 になります。

これを修正する方法を教えてもらえますか?

クイズ.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();
?>
4

1 に答える 1

3

使用する前にセッションから初期化する必要があるようです (現在、各ページは 0 から始まります)。

現在、次のものがあります。

$totalCorrect = 0;

ただし、次を使用する場合:

$totalCorrect = $_SESSION['totalcorrect'];

それはページをまたがります。

最後に、次のようにエコーアウトします。

echo $totalCorrect;

また、この変数にセッションを使用している理由もわかりません-最終ページでのみ使用されているようです-では、なぜセッション変数を使用するのですか?

于 2012-09-24T08:04:03.703 に答える