PHP 猜号游戏
PHP Number Guessing Game
PHP代码问题。
我已经研究过堆栈交换,但我发现的大多数解决方案都与我正在做的事情有关。我可以准确地得到输出以显示 "guess is too high" 或 "guess is too low" 结果。但是,我遇到困难的地方在于尝试更新数字。
我的代码是这样设置的"I'm thinking of a number between lowerNumber and higherNumber."
我正在尝试获取适当的变量值,以便在每次进行猜测时进行更新。所以如果我的号码是 23 而有人猜 12,下次页面加载时它会是 "Too low! Number is between 12 and 100." 然后如果他们猜 30,这太高了,它会输出 "Too high! Number is between 12 and 30."
目前,如果我进行猜测,它会更新正确的值,但会将另一个更改为空白值。如果我设置:
$higher = 100;
$lower = 1;
在 $randomNum(当前声明的而不是随机的)下方,然后它将值更改回 1 或 100,同时更新另一个。
谁能解释一下我做错了什么?
我已经为此工作了八个小时,但仍然无法弄清楚我做错了什么....如果知道我需要做什么才能让它发挥作用,我将非常感激。
<?php
$randomNum = 23;
if(isset($_POST['myGuess'])) {
$myGuess = $_POST['myGuess'];
$higher = "";
$lower = "";
if($myGuess > $randomNum){
echo "Too high!";
$higher = $_POST['myGuess'];
$lower = $_POST['lower'];
} else if ($myGuess < $randomNum){
echo "Too low!";
$lower = $_POST['myGuess'];
$higher = $_POST['higher'];
} else if ($myGuess === $randomNum) {
echo "Good job! That is my number!";
}
} else {
$lower = 1;
$higher = 100;
}
?>
<!DOCTYPE html>
<html>
<header>
<style>
#wrapper {
height: 450px; width: 550px; background-color: black; color: white;"
}
.box {
background-color: gray;
height: 400px;
width: 500px;
margin-top: 25px;
margin-left: 25px;
position: absolute;
}
p {
margin-left: 25px;
margin-top: 25px;
}
.inputs {
margin-top: 15px;
margin-left: 40px;
}
</style>
</header>
<body>
<div id="wrapper">
<div class="box"><p>I am thinking of a number between
<?php echo $lower;
?>
and
<?php echo $higher;
?>
.</p><br>
<form action="1to100.php" method="POST">
<input type="hidden" name="lower" value="<?php $lower ?>">
<input type="hidden" name="higher" value="<?php $higher ?>">
<input type="text" name="myGuess" class="inputs"><br>
<input type="submit" class="inputs" value="GUESS!"><br>
</form>
</div>
</div>
</body>
</html>
这段代码存在三个错误:
<input type="hidden" name="lower" value="<?php $lower ?>">
<input type="hidden" name="higher" value-"<?php $higher ?>">
<?php $lower
应为 <?php echo $lower
,同上 $higher
。在第二个值属性之后有一个 - 而不是 =。正确的代码是:
<input type="hidden" name="lower" value="<?php echo $lower ?>">
<input type="hidden" name="higher" value="<?php echo $higher ?>">
你的问题出在这里:
<input type="hidden" name="lower" value="<?php $lower ?>">
<input type="hidden" name="higher" value-"<?php $higher ?>">
您没有打印出越来越低的变量。
PHP代码问题。
我已经研究过堆栈交换,但我发现的大多数解决方案都与我正在做的事情有关。我可以准确地得到输出以显示 "guess is too high" 或 "guess is too low" 结果。但是,我遇到困难的地方在于尝试更新数字。
我的代码是这样设置的"I'm thinking of a number between lowerNumber and higherNumber."
我正在尝试获取适当的变量值,以便在每次进行猜测时进行更新。所以如果我的号码是 23 而有人猜 12,下次页面加载时它会是 "Too low! Number is between 12 and 100." 然后如果他们猜 30,这太高了,它会输出 "Too high! Number is between 12 and 30."
目前,如果我进行猜测,它会更新正确的值,但会将另一个更改为空白值。如果我设置:
$higher = 100;
$lower = 1;
在 $randomNum(当前声明的而不是随机的)下方,然后它将值更改回 1 或 100,同时更新另一个。
谁能解释一下我做错了什么? 我已经为此工作了八个小时,但仍然无法弄清楚我做错了什么....如果知道我需要做什么才能让它发挥作用,我将非常感激。
<?php
$randomNum = 23;
if(isset($_POST['myGuess'])) {
$myGuess = $_POST['myGuess'];
$higher = "";
$lower = "";
if($myGuess > $randomNum){
echo "Too high!";
$higher = $_POST['myGuess'];
$lower = $_POST['lower'];
} else if ($myGuess < $randomNum){
echo "Too low!";
$lower = $_POST['myGuess'];
$higher = $_POST['higher'];
} else if ($myGuess === $randomNum) {
echo "Good job! That is my number!";
}
} else {
$lower = 1;
$higher = 100;
}
?>
<!DOCTYPE html>
<html>
<header>
<style>
#wrapper {
height: 450px; width: 550px; background-color: black; color: white;"
}
.box {
background-color: gray;
height: 400px;
width: 500px;
margin-top: 25px;
margin-left: 25px;
position: absolute;
}
p {
margin-left: 25px;
margin-top: 25px;
}
.inputs {
margin-top: 15px;
margin-left: 40px;
}
</style>
</header>
<body>
<div id="wrapper">
<div class="box"><p>I am thinking of a number between
<?php echo $lower;
?>
and
<?php echo $higher;
?>
.</p><br>
<form action="1to100.php" method="POST">
<input type="hidden" name="lower" value="<?php $lower ?>">
<input type="hidden" name="higher" value="<?php $higher ?>">
<input type="text" name="myGuess" class="inputs"><br>
<input type="submit" class="inputs" value="GUESS!"><br>
</form>
</div>
</div>
</body>
</html>
这段代码存在三个错误:
<input type="hidden" name="lower" value="<?php $lower ?>">
<input type="hidden" name="higher" value-"<?php $higher ?>">
<?php $lower
应为 <?php echo $lower
,同上 $higher
。在第二个值属性之后有一个 - 而不是 =。正确的代码是:
<input type="hidden" name="lower" value="<?php echo $lower ?>">
<input type="hidden" name="higher" value="<?php echo $higher ?>">
你的问题出在这里:
<input type="hidden" name="lower" value="<?php $lower ?>">
<input type="hidden" name="higher" value-"<?php $higher ?>">
您没有打印出越来越低的变量。