在表单中使用get而不是post来处理index.php?page=homepage这样的url

在表单中使用get而不是post来处理index.php?page=homepage这样的url,php,html,Php,Html,我有三页,上面有表格。他们都互相牵线搭桥。第一个页面有一个表单,可以转到第二页并查询数据库。我知道这里应该使用POST方法(根据),但我想在此页面上实现GET方法,因为当用户在第二页时,他们将在那里选择他们的选项并转到第三页,但是当用户在第三页时,他们可能需要使用browser back(浏览器返回)按钮返回第二页以更改某些值。如果使用POST方法,它将提示用户“重新提交”,我希望避免这种情况 ?page=one ?page=two ?page=three

我有三页,上面有表格。他们都互相牵线搭桥。第一个页面有一个表单,可以转到第二页并查询数据库。我知道这里应该使用POST方法(根据),但我想在此页面上实现GET方法,因为当用户在第二页时,他们将在那里选择他们的选项并转到第三页,但是当用户在第三页时,他们可能需要使用browser back(浏览器返回)按钮返回第二页以更改某些值。如果使用POST方法,它将提示用户“重新提交”,我希望避免这种情况

 ?page=one          ?page=two         ?page=three
 __________         __________        __________
|          |       |          |      |          |
|          |       |          |      |          |
|  Page 1  |  ==>  |  Page 2  | ==>  |  Page 3  |
|          |       |          | <==  |          |
|          |       |          |      |          |    
|__________|       |__________|      |__________|
?页=一页?页=两页?页=三页
__________         __________        __________
|          |       |          |      |          |
|          |       |          |      |          |
|第1页|==>|第2页|==>|第3页|

|| | |如果我正确理解了您的问题,那么您可以添加一个值为
two
和name
page
的隐藏输入。这将导致它们与您的其余输入一起附加到您的url

<input type="hidden" name="page" value="two" />

如果我理解正确,那么使用GET的唯一原因就是跟踪用户所在的页面。为什么不继续使用POST,并在每个页面上放置一个隐藏字段(如果表单不可用)

第一页:

<input type="hidden" name="page" value=1">

等等。

您有3个选项

您可以使用隐藏输入,也可以使用会话或cookie


就个人而言,我会使用更容易处理的会话。

对不起,我不清楚这个问题。你能进一步解释一下这个场景吗?“当将操作设置为”?page=two“时,输入名称不会像我将操作设置为“pagetwo.php”时那样被拾取并放入URL。输入名称是什么意思?当我将操作设置为“index.php?page=two”这样的页面时,“我希望提交时URL会变成”index.php?page=two&data=x“就像我将操作设置为“pagetwo.php”(它会自动变成“pagetwo.php?data=x”)一样,在这种情况下,“JamesL”和“mrtsherman”提供的解决方案似乎就是这样,即在表单中创建一个隐藏字段来存储页码。表单提交类型是“POST”吗,可以设置像“index.php?page=two”这样的操作。实际上,我遇到的问题是,当我将一个操作设置为像“index.php?page=two”这样的页面时,URL中的输入字段不会像我将该操作设置为“pagetwo.php”时那样自动拾取。我希望'index.php?page=two'会变成'index.php?page=two&data=x',就像'pagetwo.php'变成'pagetwo.php?data=x'@Xsecure一样,这就是你的解决方案。将操作设置为index.php并添加此隐藏字段。它将自动追加。如果没有javascript,您所描述的确切场景是不可能的,但是没有必要这样做,因为您可以这样做。实际上,我遇到的问题是,当我将一个操作设置为“index.php?page=two”这样的页面时,URL中的输入字段不会像我将该操作设置为“pagetwo.php”那样自动拾取。我希望'index.php?page=two'会变成'index.php?page=two&data=x',就像'pagetwo.php'变成'pagetwo.php?data=x'一样,会话是解决这个问题的一种方法,但我希望避免它,因为它会破坏网站其余部分的流量。我遇到的问题是,当我将一个操作设置为“index.php?page=two”这样的页面时,URL中的输入字段不会像我将该操作设置为“pagetwo.php”那样自动拾取。我希望'index.php?page=two'会变成'index.php?page=two&data=x',就像'pagetwo.php'变成'pagetwo.php?data=x'
<input type="hidden" name="page" value=2">