我正在做一个个人项目,这个想法的一部分涉及用户回答五个问题,并且根据回答,它会将您导航到 3 个不同的故事之一。我目前正在使用CSS-Tricks中的一个简单测验作为模板,并且通过使用 elseif 语句对其进行了修改以接受所有正确答案。我现在遇到的问题是,我不完全确定如何根据响应使其指向不同文件之一。
该脚本通过提出问题(如您在网站上看到的,如果您愿意)来工作,这些问题在此处输出、收集和显示。
相对简单,所有“A”答案都指向一个故事,所有“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 没有被计算在内。前两个变量运行良好,它们的任何组合都会导致 A 或 B,但是当我选择所有 C 时,它会吐出指向“mys.php”而不是“ils.php”的链接。
编辑 2
让它再次工作。傻,傻,傻。感谢你的帮助!