1

我尝试搜索但没有看到这个问题的答案。这是一个简单的表格:

<form action="" method="post">
<input type="hidden" name="test" value="1">
<input type="submit">
</form>

我将该代码放入test.html并浏览到:

/test.html?test=test

提交表单后,变量test仍然在 URL 中。我认为提交的表单会清除 GET 参数,但事实并非如此。

是否所有浏览器都表现出这种行为,或者这是 FireFox 特有的?

4

2 回答 2

3

带有 的表单method="get"将用新参数覆盖任何现有的 GET 参数。但是,带有 的表格method="post"将保留它们。

如果您想手动删除它们,请尝试action="<?=$_SERVER['PHP_SELF']?>"(或 PHP 5.3 及以下版本action="<?php echo $_SERVER['PHP_SELF'] ?>":)

于 2013-06-05T20:53:29.203 回答
3

“POST”和“GET”参数在 PHP 中用词不当。无论请求类型如何,URL 都可以有查询参数。POST 请求可以包含请求正文数据。URL 查询参数$_GET以 PHP 结尾,POST 请求的 URL 编码正文数据以$_POST. $_GET在 PHP“ ”命名法之外,真的没有“GET 参数”之类的东西。

没有指定操作的表单提交到当前URL,包括任何URL 查询参数

希望现在更有意义。

于 2013-06-05T21:00:26.953 回答