将表单发布给自己时如何保留GET参数?

Posted

技术标签:

【中文标题】将表单发布给自己时如何保留GET参数?【英文标题】:How to preserve GET parameters when posting form to self? 【发布时间】:2012-05-18 11:22:49 【问题描述】:

我有一个带有一个 GET 参数的 URL。我正在尝试发布一个简单的表单,基本上只是简单地向 URL 添加一个 GET 参数。

当前网址:mysite.com/page.php?first=123

表单 html

<?php $first = $_GET['first']; ?>

<form method="get" action="page.php?first=<?php echo $first; ?>">
<input type="text" name="second"><br>
<input type="submit" value="Submit"><br>
</form>

我正在尝试获取 URL:mysite.com/page.php?first=123&second=456

但是,在提交表单时,页面 URL 会丢弃第一个 GET 参数并更改为:mysite.com/page.php?second=456

如何提交此表单并将第二个 GET 参数添加到 URL 末尾的第一个已经存在的 GET 参数之后?

谢谢

【问题讨论】:

你应该这样标记答案。 【参考方案1】:

您需要改用隐藏输入:

<input type="hidden" name="first" value="<?php echo htmlspecialchars($first, ENT_QUOTES); ?>" />

【讨论】:

以上是关于将表单发布给自己时如何保留GET参数?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Get 参数时如何验证 Codeigniter 中的表单字段?

在 JSF 表单提交上保留 GET 请求查询字符串参数

如何在表单提交时将参数发送到路由

将表单数据序列化为 JSON 时如何保留值类型

表单有哪几种提交方式?不同提交方式中asp程序如何获取表单中的参数?

如何拼接GET请求的参数