与URL混合时未传递GET变量

时间:2009-07-31 05:32:38

标签: php html html-form

为什么当我通过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>

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

这是不好的做法吗?

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

1 个答案:

答案 0 :(得分:7)

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

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

<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参数很奇怪。