使用表单的PHP中的随机数生成器游戏


Random number generator game in PHP using a form

我正在尝试创建一个网页,提示用户猜测从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>