1

在下面的 PHP 代码中,我尝试生成一个随机数(如果它还没有)并将其存储在一个名为 的变量中$number,我还接受用户输入并将其存储在$userInput.

每次按下提交按钮时,都会使用 再次调用相同的页面$_SERVER['PHP_SELF']

我的问题是我希望$number一旦设置它就保持它的价值。无论提交按钮被按下多少次,现在都不会发生这种情况。$number每次按下提交按钮时都会设置。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Number Guessing Game!</title>
    </head>
    <body>
        <?php 
            $userInput = $_POST['number'];
            if(!$number){
                 $number = rand(1, 500);
            }
            else{
                 echo "random number is $number <br>";
                 echo "you entered $userInput";
            }

            echo "<h3> $number </h3>"; //just to see if the number is changing everytime
       ?>
       <form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
            <input type="text" name="number" /> <input type="submit" name="Submit"
            value="Submit" />
       </form>
    </body>
</html>
4

4 回答 4

2

要使您的随机数在页面浏览量之间保持不变,您需要使用会话

http://www.tizag.com/phpT/phpsessions.php/

于 2012-07-15T13:45:09.420 回答
1

不使用 cookie 或会话的最简单方法就是在表单的隐藏字段中传递值。按下提交时,它将被传递。

如果您希望它在稍后返回页面时具有相同的值(即关闭浏览器然后在稍后阶段重新打开),请使用 cookie/会话。如果您只希望它在按下提交按钮时保持不变,请使用表单隐藏字段。

于 2012-07-15T13:48:00.460 回答
1

您需要实现 PHP 会话。您分配给 $number 的数字只能在设置后调用的代码中访问。

W3Schools PHP 会话教程

希望该链接对您有所帮助。

干杯

于 2012-07-15T13:49:14.903 回答
1

在 php 运行脚本后,变量被销毁。使用 cookie、seesion 或 sql 将数据保存在页面上。

于 2012-07-15T13:54:31.960 回答