为什么当我通过HTML格式的编码URL和GET方法传递参数时,URL编码参数会被删除?

e.g。设置:

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

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

这是不好的做法吗?

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

有帮助吗?

解决方案

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

如果您想传入“隐藏表格输入”那么你必须使用隐藏的表单元素:

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

正如rezzif在评论中指出的那样,你可以混合GET&amp; POST如此:

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

作为一般规则,我避免混合两者。我发现在我的表格行动中使用GET参数很奇怪。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top