使用PHP标头重定向到同一页面不会从URL中删除GET请求

时间:2013-02-20 05:06:46

标签: php

我有一个刽子手游戏。我的问题是,当他们进入胜利屏幕时,他们可以无限刷新它,每次刷新都会增加他们的胜利数量(如果丢失则增加损失),因为它会检查单词是否完整,是,并且他们的分数上升

我现在制作了一个SESSION变量来判断他们是否赢了。如果有,则重置游戏。

我的问题是,当他们刷新网址中的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');
    }

为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

我相信标题(“Location:index.php”);将删除URL中的所有get参数。

我认为你需要检查你的应用程序是否确实调用了函数