【发布时间】:2016-08-04 15:28:04
【问题描述】:
这是一个骰子游戏,当用户选择一个数字并点击提交时,页面会在骰子上随机显示一个数字,如果用户猜对了它应该说是你猜对了,否则它会说对不起你是错误的。但它不会回应“你猜对了!”当数字匹配时。问题出在哪里?它说对不起,无论如何都是错的。非常感谢!
<html>
<body>
<h1>Dice Game!</h1>
<h1>"Please guess a number on the dice!"</h1>
<?php
if ($_POST['subBtn']) {
$num = $_POST['number'];
if ($num == "$roll") {
$comment = "you guessed right!";
} else if ($num != "$roll") {
$comment = "sorry it's wrong!";
}
}
?>
<p>
<form name="number" action="activity-dice-game.php" method="post">
<select name="number">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<input type="submit"name="subBtn" value="submit"/></input>
</form>
</p>
<?php
$roll = rand(1,6);
echo "<p>You rolled a " . $roll . ". </p>";
echo "<img src=\"images/die" . $roll . ".gif\" alt=\"die image\">";
?>
</b> <? echo $comment; ?><br />
</body>
</html>
【问题讨论】:
-
你似乎也有很多尾随标签,而且你还在文件末尾使用了 php 短标签(在某些时候你的世界会爆炸)..
-
如果您费心查看 PHP 错误日志,您应该会看到错误。在您尝试针对选择进行测试之前,您不会计算出
$roll -
如果你运行它,你会收到一个未定义的变量通知,因为你试图在定义之前引用一个变量 (
$roll)。 -
if ($num == "$roll") {未定义变量$roll