程序的目标是创建 3 个随机生成的数字,然后如果按下交易按钮,这 3 个数字就会进入 inBetween 函数,然后应该回显然后创建新的随机数,但发生的情况是 inBetween 函数使用当前生成的数字而不是上一篇
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
session_start();
function isBetween($num1, $num2, $num3)
{
$numbers = [$num1, $num2];
if ($num3 > min($numbers) && $num3 < max($numbers)) {
return $num3 . " Is Between " . min($numbers) . " and " . max($numbers) . "<br/>";
} else {
return $num3 . " Is Not Between " . min($numbers) . " and " . max($numbers) . "<br/>";
}
}
$num1 = rand(0, 9);
$num2 = rand(0, 9);
$num3 = rand(0, 9);
if (isset($_POST['btn1'])) {
if ($_SESSION['round'] >= 10) {
echo "Game Over";
session_destroy();
exit;
}
$choice = $_POST['btn1'];
if ($choice == "deal") {
echo isBetween($num1, $num2, $num3);
echo "You Pressed Deal <br />";
} else {
echo "You Pressed No Deal <br />";
}
$_SESSION['round']++;
} else {
$_SESSION['round'] = 1;
}
echo $num1 . "<br />";
echo $num2 . "<br />";
echo $num3 . "<br />";
?>
<form method='POST'>
<button type="submit" class="btnDeal" name="btn1" value="deal">Deal</button>
<button type="submit" class="btnNodeal" name="btn1" value="nodeal">No Deal</button>
<p>Round <?php echo $_SESSION['round'] ?></p>
</form>
</body>
</html>
不知道接下来要做什么
每次加载页面时,PHP 都会按照编写的顺序遍历整个代码。它不会记住上次到达的位置,也不会跳转到特定部分。
这是您的意图描述:
但这就是你的代码的作用:
$num1 = rand(0, 9); ...
if ($choice == "deal") { ...
echo isBetween($num1, $num2, $num3);
echo $num1 . "<br />"; ...
显然这些不匹配,您想要的列表的第 4 步已成为第 1 步。要移动它,您需要其他地方来获取
$num1
等 - 明显的地方与您已经获得数量的地方相同回合,会议。
所以我们可以稍微扩展一下轮廓: