我试图解决的问题是,我有16种不同的动物,我需要写一个PHP脚本,该脚本向用户 4 是/ no 问问题,每个问题缩小可用动物的范围,直到最终显示答案。这意味着下一个问题将取决于用户在前一个问题中回答什么。你是否知道我如何做到这一点,而不使用大量如果有的话的语句。
下面是我至今为止所做的,还没有完成,但如果我继续使用如果我最后会用太多的语句的话,必须有一个更好的方法。有人建议我使用阵列内的阵列,但这对我没有帮助。任何帮助都会非常感激。
<?php
session_set_cookie_params(2592000);
session_start();
?>
<html>
<head>
<title>Creature Guessing Game</title>
</head>
<body>
<h1>Creature Guessing Game</h1>
<p> Welcome to the creature guessing game! </p>
<p>Click the button
below to start or restart the game </p>
<form method="post" action="Creatures.php">
<input type= submit name= start value= Start Game />
</form>
<?php
//If form not submitted, display form.
if (!isset($_POST[ start ])){
?>
<?php
} //If form is submitted, process input
else{ //Question 1
echo "<p>Does the creature live mainly on the land?</p>";
echo "<form method= post action= Creatures.php >
<input type= submit name= yes1 value= Yes />
<input type= submit name= no1 value= No />
</form>";
}
if ($_POST[ yes1 ]){ //Q1 - Yes
echo "<p>Does the creature have wings?</p>";
echo "<form method= post action= Creatures.php >
<input type= submit name= yes2 value= Yes />
<input type= submit name= no2 value= No />
</form>";
}
elseif($_POST[ no1 ]){ //Q1 - No
echo "<p>Does the creature live in the water?</p>";
echo "<form method= post action= Creatures.php >
<input type= submit name= yes3 value= Yes />
<input type= submit name= no3 value= No />
</form>";
}
if ($_POST[ yes2 ]){ //Q1 - Yes and Q2 - Yes
echo "<p>Can the creature fly?</p>";
echo "<form method= post action= Creatures.php >
<input type= submit name= yes4 value= Yes />
<input type= submit name= no4 value= No />
</form>";
}
elseif($_POST[ no2 ]){ //Q1 - Yes and Q2 - No
echo "<p>Is the creature an insect?</p>";
echo "<form method= post action= Creatures.php >
<input type= submit name= yes5 value= Yes />
<input type= submit name= no5 value= No />
</form>";
}
if ($_POST[ yes3 ]){ //Q1 - No and Q2 - Yes
echo "<p>Is the creature a reptile?</p>";
echo "<form method= post action= Creatures.php >
<input type= submit name= yes6 value= Yes />
<input type= submit name= no6 value= No />
</form>";
}
if ($_POST[ no3 ]){ //Q1 - No and Q2 - No
echo "<p>Does the creature have feathers?</p>";
echo "<form method= post action= Creatures.php >
<input type= submit name= yes7 value= Yes />
<input type= submit name= no7 value= No />
</form>";
}
if ($_POST[ yes4 ]){ //Q1 - Yes and Q2 - Yes and Q3 - Yes
echo "<p>Is the creature your thinking of white?</p>";
echo "<form method= post action= Creatures.php >
<input type= submit name= yes8 value= Yes />
<input type= submit name= no8 value= No />
</form>";
}
if ($_POST[ yes8 ]){ //Answer 1: Q1 - Yes and Q2 - Yes and Q3 - Yes and Q4 - Yes
echo "<p>Its a goose!</p>";
}
if ($_POST[ no8 ]){ //Answer 2: Q1 - Yes and Q2 - Yes and Q3 - Yes and Q4 - No
echo "<p>Its a hawk!</p>";
}
?>
</body>
</html>