在表单中使用get而不是post来处理index.php?page=homepage这样的url
我有三页,上面有表格。他们都互相牵线搭桥。第一个页面有一个表单,可以转到第二页并查询数据库。我知道这里应该使用POST方法(根据),但我想在此页面上实现GET方法,因为当用户在第二页时,他们将在那里选择他们的选项并转到第三页,但是当用户在第三页时,他们可能需要使用browser back(浏览器返回)按钮返回第二页以更改某些值。如果使用POST方法,它将提示用户“重新提交”,我希望避免这种情况在表单中使用get而不是post来处理index.php?page=homepage这样的url,php,html,Php,Html,我有三页,上面有表格。他们都互相牵线搭桥。第一个页面有一个表单,可以转到第二页并查询数据库。我知道这里应该使用POST方法(根据),但我想在此页面上实现GET方法,因为当用户在第二页时,他们将在那里选择他们的选项并转到第三页,但是当用户在第三页时,他们可能需要使用browser back(浏览器返回)按钮返回第二页以更改某些值。如果使用POST方法,它将提示用户“重新提交”,我希望避免这种情况 ?page=one ?page=two ?page=three
?page=one ?page=two ?page=three
__________ __________ __________
| | | | | |
| | | | | |
| Page 1 | ==> | Page 2 | ==> | Page 3 |
| | | | <== | |
| | | | | |
|__________| |__________| |__________|
?页=一页?页=两页?页=三页
__________ __________ __________
| | | | | |
| | | | | |
|第1页|==>|第2页|==>|第3页|
|| | |如果我正确理解了您的问题,那么您可以添加一个值为two
和namepage
的隐藏输入。这将导致它们与您的其余输入一起附加到您的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">