0
私はユーザーが質問に答えることができる簡単な数学ゲームを持っており、入力答えが正しいかどうかを確認します。数学ゲームでのintの比較PHP
答えが正しいときは正解、そうでないときは正しくないと思っています。これまでの回答が正しいことが分かっていても、正しい文字列が表示されていないことがあります。
私はそれが私の$_POST
と関係があると信じていますが、私は完全にはわかりません。これをどうすれば解決できますか?
<html>
<head><title>Addition php</title></head>
<body>
<h1>MATH GAME WOOOO</h1>
<form action="<?php $PHP_SELF?>" method="POST">
<input type="text" name="guess"><br>
<input type="submit" name="guess-butt"><br>
</form>
<?php
$operators = array("+", "-", "*", "/");
$operator = $operators[rand(0,2)];
$rand_int1 = rand(0, 10);
$rand_int2 = rand(0, 10);
echo("<a>What is " . $rand_int1 . ' ' . $operator . ' ' . $rand_int2 . "?</a><br>");
echo('guess for last question: ' . $_POST['guess'] . '<br>');
if (isset($_POST['guess'])) {
$guess = intval($_POST['guess']);
if ($operator == "+")
{
$temp = $rand_int1 + $rand_int2;
echo('answer: ' . $temp . "<br>" . '');
if ($guess == $temp)
{
echo("<br>correct<br>");
}
else
{
echo('<br>incorrect<br>');
}
}
elseif ($operator == "-")
{
$temp = $rand_int1 - $rand_int2;
echo('answer: ' . $temp . "<br>" . '');
if ($guess == $temp)
{
echo("<br>correct<br>");
}
else
{
echo('<br>incorrect<br>');
}
}
elseif ($operator == "*")
{
$temp = $rand_int1 * $rand_int2;
echo('answer: ' . $temp . "<br>" . '');
if ($guess == $temp)
{
echo("<br>correct<br>");
}
else
{
echo('<br>incorrect<br>');
}
}
elseif ($operator == "/")
{
$temp = $rand_int1/$rand_int2;
echo('answer: ' . $temp . "<br>" . '');
if ($guess == $temp) {
echo("<br>correct<br>");
}
else
{
echo('<br>incorrect<br>');
}
}
}
?>
</body>
</html>
'$演算子[ランド(0,2)]
また、隠された入力フィールドとして
$rand_int1
と2変数を提出しようとすることができます; ''/'は決して選択されません。配列からランダムな要素を選択するには 'array_rand()'を使うべきです。 – Barmar私はすべての演算子を見ることができます... – Jason
あなたの推測は、異なるランダム値を使用する前のページの負荷からです。 – Chris