[英]Redirecting to the same page with PHP headers is not removing the GET request from the URL
我有一個子手游戲。 我的問題是,當他們進入獲勝畫面時,可以無限刷新它,每次刷新都會增加獲勝的次數(如果輸了,則會增加損失),因為它會檢查單詞是否完整,正確並提高積分。
我現在做了一個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');
}
為什么這不起作用?
我相信header(“ Location:index.php”); 將從網址中刪除所有get參數。
我認為您需要檢查您的應用程序是否確實調用了該函數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.