Php 随机数重置
我的随机数在页面加载时生成,但在用户单击“猜测”按钮时似乎会重置。我还有很多东西要做,但最后我希望用户能够进行多次猜测来猜测随机数。我希望它在页面第一次出现时生成,并且在正确猜测之前保持不变。我不确定我做错了什么,只是开始了这个项目。如果你回答,也请解释,因为我正在努力学习我在做什么。谢谢大家!Php 随机数重置,php,post,random,Php,Post,Random,我的随机数在页面加载时生成,但在用户单击“猜测”按钮时似乎会重置。我还有很多东西要做,但最后我希望用户能够进行多次猜测来猜测随机数。我希望它在页面第一次出现时生成,并且在正确猜测之前保持不变。我不确定我做错了什么,只是开始了这个项目。如果你回答,也请解释,因为我正在努力学习我在做什么。谢谢大家! <!doctype html> <html> <head> <meta http-equiv="Content-Type" conten
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>PHP Homework 2</title>
<link rel="stylesheet" href="styles/styles.css">
</head>
<body>
<section id="main">
<h1>Play the Guessing Game!</h1>
<section id="left">
<h2>Take a Guess!</h2>
<form action="mine.php" method="post">
<div id="guessBox">
<label id="guessLB">Your Guess:</label>
<input id="guessTB" class="num" type="number" name="guessTB" max="1000" min="1">
</input>
</div>
<input type="submit" id="guessButton" name="guessBTN" value="Guess" />
</form>
</section>
<section id="right">
<h2>Game Stats</h2>
<?php
if(isset($_POST['guessTB']))
{
$randomNum = $_POST['guessTB'];
}
else
{
$randomNum = rand(1,100);
}
echo "<p>Random Number: $randomNum</p>";
?>
</section>
</section>
</body>
</html>
你能做的就是使用会话。在每次加载时检查您是否在会话中设置了它,如果未设置,则生成新的数字并设置它,然后检查用户输入的内容并比较这两个数字。这也可以通过饼干来实现。您可以做的另一件事是使用js。加载时,将生成的数字存储在某个js变量中,不要使用表单。在按钮上,单击获取输入字段的值,并与存储在变量中的值进行比较。单击按钮将重新加载调用随机数生成器的页面。那不是你期望的吗?不,那不是我想要的。我还有很多东西要做,但最后我希望用户能够进行多次猜测来猜测随机数。我希望它在页面第一次出现时生成,并在正确猜测之前保持不变。默认情况下,HTTP是无状态的。Web服务器“记住”用户信息的方式(在本例中是正确的数字)通常是通过一个。@JonathonReinhart-谢谢-我阅读了会话,认为如果我生成随机数,将其设置为会话变量并检查其设置是否正确,这将起作用。对吗?但我在哪里真正做到了这一代人不会因为每一个新的猜测而重演?
<?php
session_start();
$randomNum = $_SESSION['randomNum'];
$guess = $_POST['guessTB'];
if(!isset($_SESSION['randomNum']))
{
$_SESSION['randomNum'] = rand(1,1000);
}
else
{
if($guess < $randomNum)
{
echo "<p>Your Guess is Too Low! Try Again!</p>";
}
else if($guess > $randomNum)
{
echo "<p>Your Guess is Too High! Try Again!</p>";
}
else
{
echo "<p>You Won!</p>";
$_SESSION = array();
session_destroy();
}
}
echo "<p>Guess: $guess</p>";
echo "<p>Random Number: $randomNum</p>";
?>