[英]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.