【问题标题】:A little dice game that does not echo properly一个没有正确回声的小骰子游戏
【发布时间】: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

标签: php echo dice


【解决方案1】:

问题是,当您加载表单时,$roll 设置为空,当您检查用户提交的 $num 是否等于它时!这意味着无论如何

if($num == $roll)

相当于:

if($num == null)

这永远不会是真的!

只需将$roll = rand(1,6) 放在脚本顶部即可。

【讨论】:

  • Erm...你在哪里看到if($num == $rand)在代码中
  • @RiggsFolly 我的错!兰特卡在我的头上。已编辑
【解决方案2】:

这应该可行:

<html>
<body>
<h1>Dice Game!</h1>

<h1>"Please guess a number on the dice!"</h1>


<?php
if ($_POST['subBtn']) {
    $num = $_POST['number'];
    $roll = rand(1,6); 

    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
echo "<p>You rolled a " . $roll . ". </p>";
echo "<img src=\"images/die" . $roll . ".gif\" alt=\"die image\">";
?>

</b> <? echo $comment; ?><br />

</body>
</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 2014-02-12
    • 1970-01-01
    • 2012-02-29
    • 2013-12-29
    • 2021-12-04
    • 2021-12-14
    相关资源
    最近更新 更多