【发布时间】:2016-03-07 12:41:36
【问题描述】:
我正在尝试创建一个网页,提示用户猜测从 1 到 5 的数字,该数字是随机生成并存储在表单中的。
然后,当提交表单时,会根据随机数检查猜测,如果猜测不正确,则会提示用户再次猜测,但每次猜测的随机值保持不变。
我的问题是,一旦用户提交表单,当提示用户重试时,随机数没有显示出来。
else if (isset($_POST["firstname"])) {
echo $_POST['firstname'] . $_POST['lastname'];
echo "Hi " . $_POST['firstname'] . " " . $_POST['lastname'] . "!";
?>
<html>
<form name="number" action="random.php" method="post">
<p>Enter a guess: <input type="text" name="guess" /></p>
<input type="hidden" name="numtobeguessed" value="<?php echo $_POST["numtobeguessed"]; ?>" ></p>
<input type="submit" value="Guess!" />
</form>
</html>
<?php
$_POST["numtobeguessed"] = rand(1, 5);
$guessed = $_POST["numtobeguessed"];
echo "Number to be guessed " . $guessed;
} else if (isset($_POST["guess"])) {
if ($_POST["guess"] != $_POST["guessed"]) {
echo $_POST["guess"] . " is not correct";
?>
<form name="number1" action="random.php" method="post">
<p>Enter a guess: <input type="text" name="guess" /></p>
<input type="hidden" name="numtobeguessed" value="<?php echo $_POST["guessed"]; ?>" ></p>
<input type="submit" value="Guess!" />
<?php
}
}
?>
【问题讨论】:
-
附带说明,我建议使用
$_POST而不是$_REQUEST。我不知道你为什么同时使用这两个。此外,您不需要在if语句中使用== true。 -
这段代码是用于random.php的吗?
-
为什么您的代码以
else if开头?在此之前是否有可能干扰的代码? -
@Jonathan 在此之前有代码可以工作。我没有包括它以节省空间。我发布的代码是我遇到问题的地方。
-
逻辑是否应该始终检查
$_POST["guess"]是否有值?即当$_POST['numtobeguessed']有一个值时,guess可以有一个用户输入的值?