0

ハングマンゲームをしています。私の問題は、彼らが勝利画面に到達すると、それを無限に更新することができ、単語が完全であるかどうかをチェックし、ポイントを上げるため、更新ごとに勝利数 (または負けた場合は損失) が増加することです。 .

ここで、勝ったかどうかを示す SESSION 変数を作成しました。持っている場合は、ゲームがリセットされます。

私の問題は、URL の GET 要求で更新すると (どのように推測するか) ...index.php?guess=G、ゲームが推測された G で更新されることです。Location が index.php に設定されたヘッダーは、GET 要求を取り除くと考えました。

これが私の検出コードです:

    if (isset($_SESSION["won"]) && $_SESSION["won"]) {
        reset_game();
    }
    else if (isset($_SESSION["lost"]) && $_SESSION["lost"]) {
        reset_game();
    }

そしてreset_game()機能:

    function reset_game() {
        $_SESSION["word"] = generate_word("dictionary.txt");
        $_SESSION["word-progress"] = turn_to_underscores($_SESSION["word"]);
        $_SESSION["chances-left"] = 9;
        $_SESSION["guesses"] = array();
        $_SESSION["incorrect-guesses"] = array();

        header('Location: index.php');
    }

なぜこれが機能しないのですか?

4

1 に答える 1

1

header("Location: index.php"); と思います。URL からすべての get パラメータを削除します。

アプリケーションが関数を呼び出したかどうかを確認する必要があると思います

于 2013-02-20T05:50:00.067 に答える