“如何让用户使用$ _POST在单个页面上添加两个随机整数”

时间:2019-04-26 03:23:58

标签: php html

我正在尝试创建一个添加游戏PHP和HTML,用户在其中猜测两个随机整数的和。但是,当用户提交答案时,这些整数会再次随机化,从而改变总和并使用户的猜测不正确。

<?php
  $x = (rand(1,10));
  $y = (rand(1,10));
  $sum = $x + $y;
  if (isset($_POST['submit']))
  {
     $guess = $_POST['guess'];
     if ($sum == $guess)
     {
        echo "nice, you got it right.";
     }
     else {
        echo "aw, too bad. <br>";
     }
  }
  echo "<br>What is " . $x . " + " . $y . "? <br>";?>  

  <form action="" method="post">
       <input name="guess" type="text" />
       <input name="submit" type="submit" />
  </form>

我期望$guess==$sum的输出是“不错,您做对了”,但是在提交表单时$ sum会改变,这会使两个变量不相等。

3 个答案:

答案 0 :(得分:1)

尝试使用会话并存储两个随机数。 PHP Session

就是这样

<?php

session_start();

  if (isset($_POST['submit']))
   {
     $sum = $_SESSION['y'] + $_SESSION['x'];
     $guess = $_POST['guess'];
                if ($sum == $guess)
                    {
                    echo "nice, you got it right.";
                    }
                else {
                    echo "aw, too bad. <br>";
                    }
  }
  $_SESSION['x']= (rand(1,10));
  $_SESSION['y']= (rand(1,10));
echo "<br>What is " . $_SESSION['x'] . " + " . $_SESSION['y'] . "? <br>";
    ?>  

<form action="" method="post">
<input name="guess" type="text" />
<input name="submit" type="submit" />
</form>

希望我能回答你的问题。只是阅读PHP会话,对您有很大帮助。

答案 1 :(得分:1)

您可以创建一个隐藏的输入字段来发布总和值。然后将该值与猜测值进行比较。

img = Image.open(folder + "/" + photo)

答案 2 :(得分:0)

您应该将$ x和$ y存储在隐藏的输入中。 通过使用后值而不是生成新值来计算总和。