PHPで「単純な」推測ゲームを作ろうとしていました。ただし、ユーザーが「送信」ボタンを押して回答を送信すると、(一見ランダムな) 瞬間に、質問をもう一度見て正解を見るのではなく、別の質問と回答が表示されるようです。問題はロジックにあるか、質問番号を保存する Cookie にあると感じています。ここにスニップがあります:
if (isset($_POST['q'])) {
$questionNo = $_POST['q'];
$text = str_replace("\\", "", $_POST['ans']);
$text = ltrim(rtrim($text, "'"), "'");
$button = "Next one";
$action = "window.location='game.php';";
$verify = True;
} else {
$verify = False;
$answered = unserialize(urldecode($_COOKIE['answered']));
if (gettype($answered) == 'boolean') {
$answered[0] = "";
}
while (True) {
if (array_search($questionNo, $answered) > 0 && count($answered) < ($numberOfQuestions + 1)) {
$questionNo = $questionNo + 1;
$questionNo = ($questionNo > $numberOfQuestions ? $questionNo - $numberOfQuestions : $questionNo);
} else {
$answered[count($answered)] = $questionNo;
setcookie('answered', urlencode(serialize($answered)));
break;
}
}
PasteBin に追加した長いコードは、こちらから入手できます。念のため、ここにある SQL データも貼り付けました。
アイデアをお寄せいただきありがとうございます。