Это игра в кости, когда пользователь выбирает число и нажимает кнопку «Отправить», на странице случайным образом отображается число на кости, и если пользователь угадал правильно, он должен сказать «да, вы поняли правильно», в противном случае он скажет «извините, что вы ошибаетесь». Но это не повторило бы, «Вы правильно догадались!» когда число совпадает. В чем проблема? Он говорит, извините, что это неправильно, несмотря ни на что. Спасибо вам большое!
<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>
Проблема в том, что при загрузке формы $roll
не установлен, когда вы проверяете, если $num
представленный пользователь равен этому! Это означает, что независимо от того, что
if($num == $roll)
Эквивалентно:
if($num == null)
Что никогда не будет правдой!
Просто положи $roll = rand(1,6)
в верхней части сценария.
Это должно работать:
<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>