私は個人的なプロジェクトに取り組んでおり、アイデアの一部には、ユーザーが5つの質問に答えることが含まれ、回答に応じて、3つの異なるストーリーのいずれかに移動します。現在、 CSS-Tricksの簡単なクイズをテンプレートとして使用しており、elseifステートメントを使用して、すべての回答を正解として受け入れるように変更しました。私が今抱えている問題は、応答に基づいて異なるファイルの1つを指すようにする方法が完全にはわからないということです。
スクリプトは、ここに出力され、収集され、表示される質問をすることによって機能します(必要に応じて、サイトで確認できます)。
すべての「A」の回答が1つのストーリーを指し、すべての「B」の回答が別のストーリーを指し、「C」についても同じであるという点で、比較的単純です。明らかに、私が編集しようとしているクイズの性質上、結果を収集してそれに基づいて決定を下すのではなく、クイズを「採点」したいと考えています。
<?php
$answer1 = $_POST['question-1-answers'];
$answer2 = $_POST['question-2-answers'];
$answer3 = $_POST['question-3-answers'];
$answer4 = $_POST['question-4-answers'];
$answer5 = $_POST['question-5-answers'];
$responseA = 0;
$responseB = 0;
$responseC = 0;
if ($answer1 == "A") { $responseA++; }
elseif ($answer1 == "B") {$responseB++; }
elseif ($answer1 == "C") {$responseC++; }
if ($answer2 == "A") { $responseA++; }
elseif ($answer2 == "B") {$responseB++; }
elseif ($answer2 == "C") {$responseC++; }
if ($answer3 == "A") { $responseA++; }
elseif ($answer3 == "B") {$responseB++; }
elseif ($answer3 == "C") {$responseC++; }
if ($answer4 == "A") { $responseA++; }
elseif ($answer4 == "B") {$responseB++; }
elseif ($answer4 == "C") {$responseC++; }
if ($answer5 == "A") { $responseA++; }
elseif ($answer5 == "B") {$responseB++; }
elseif ($answer5 == "C") {$responseC++; }
if ($responseA) { echo '<a href="sin.php">Next Page</a>'; }
elseif ($responseB) { echo '<a href="mys.php">Next Page</a>'; }
elseif ($responseC) { echo '<a href="ils.php">Next Page</a>'; }
?>
ですから、誰かが私を正しい方向に向けることができれば、私はそれをいただければ幸いです。考えてみると簡単そうに聞こえましたが、学習プロジェクトの計画よりもはるかに難しいです。
編集
私はcbronsonの提案を反映するようにコードを更新しました、そしてそれは確かに以前よりずっと良く機能します!私が今抱えている問題は、responseCがカウントされていないように見えることです。最初の2つの変数は完全に機能しており、これらを任意に組み合わせるとAまたはBになりますが、すべてのCを選択すると、「ils.php」ではなく「mys.php」へのリンクが出力されます。
編集2
再び動作しました。愚かな、愚かな、愚かな。ご協力ありがとうございます!