【问题标题】:GET variables not passed when mixed in with URL与 URL 混合时未传递 GET 变量
【发布时间】:2009-07-31 05:32:37
【问题描述】:

为什么我通过HTML格式的编码URL和GET方法传递参数时,URL编码的参数被丢弃了?

例如设置:

<form action="process.php?hello=world" method="GET">
<input type="text" name="foo" value="bar">
<input type="submit">
</form>

结果:变量hello 将无法在process.php 中识别。

这是不好的做法吗?

这是 PHP 的处理方式,还是与浏览器发送请求的方式有关?其他语言有同样的问题吗?

【问题讨论】:

  • 如果我错了,请纠正我,但这不会导致以下形式的 URL:process.php?hello=world?foo=bar(带有两个问号)吗?

标签: php html forms


【解决方案1】:

是的,这是不好的做法,因为它不起作用。

如果要传入“隐藏表单输入”,则必须使用隐藏表单元素:

<input type="hidden" name="hello" value="world" />

正如 rezzif 在他的评论中所说,您可以像这样混合 GET 和 POST:

<form action="/something?foo=bar" method="POST">
<input type="text" name="baz" />
</form>

一般来说,我会避免将两者混为一谈。我发现在我的表单操作中有 GET 参数很奇怪。

【讨论】:

  • 但是你可以混合获取和发布。
猜你喜欢
  • 2019-03-28
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多