我正在尝试创建一个网页,提示用户猜测从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
}
}
?>
答案 0 :(得分:1)
您要在名称为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>