Php 当我点击我的重置游戏提交按钮时,前一个猜测仍然是URL的一部分,并作为get请求提交,我如何摆脱它?
我在做一个刽子手游戏。当用户单击一个字母时,它会被附加到url中,如Php 当我点击我的重置游戏提交按钮时,前一个猜测仍然是URL的一部分,并作为get请求提交,我如何摆脱它?,php,Php,我在做一个刽子手游戏。当用户单击一个字母时,它会被附加到url中,如guess=G,但如果我单击了重置按钮(提交按钮),则猜测仍会出现在url中,并启动以下函数 function reset_game() { $_SESSION["word"] = generate_word("dictionary.txt"); $_SESSION["word-progress"] = turn_to_underscores($_SESSION["word"]);
guess=G
,但如果我单击了重置按钮(提交按钮),则猜测仍会出现在url中,并启动以下函数
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');
}
这很好,只是因为GET请求仍然在URL中,所以它将作为猜测提交,直到我再次单击按钮
这是因为在我的代码中,我进一步检查是否有GET请求,如果有,就执行它。有没有一种方法可以让我在点击重置按钮(sans-JavaScript,对于PHP更是如此)时就清楚地显示GET请求,而不是在检查猜测是否正确时使用if语句?后一种解决方案听起来。。。解决方法。为每个提交按钮指定不同的
名称
属性值,并在处理过程中键入在$\u GET
中找到的名称。例如,如果您有名为“guess”和“reset”的提交按钮,则可以测试isset($\u GET['guess'])
以查看是否单击了“guess”按钮,以及isset($\u GET['reset'])
以查看是否单击了“reset”按钮
有关此方法的更多信息,请参阅
或者,将两个按钮放在不同的
元素中,这将使它们各自的
元素彼此隔离。解决了这个问题。确保我提交的表单带有属性action=“index.php”
,而不是简单的action=“
,这将GET请求保留在URL中。对于第一个选项,我正在考虑(如我的问题中所述),但检查是否有重置请求时,我检查猜测似乎不直观。如果这是唯一的选择,我当然同意。对于第二个选项,它们是URL中带有get请求的锚定标记,而不是按钮,但它们是单独的形式。