我正在尝试创建一个网页,提示用户猜测从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
}
}
?>
您正在以名称 numtobeguessed
的字段中发送值,但您尝试使用名称 guessed
读取它。
这:
if ($_POST["guess"] != $_POST["guessed"]) {
应该是:
if ($_POST["guess"] != $_POST["numtobeguessed"]) {
而这个:
<input type="hidden" name="numtobeguessed" value="<?php echo $_POST["guessed"]; ?>" ></p>
应该是:
<input type="hidden" name="numtobeguessed" value="<?php echo $_POST["numtobeguessed"]; ?>" ></p>