PHP $ _POST,$ _GET和$ _REQUEST键

时间:2010-08-26 14:25:31

标签: php post get request

是否存在一种情况(如某些古怪的浏览器),表单输入字段的id成为$ _POST,$ _GET或$ _REQUEST中的键,而不是字段的名称?

我们遇到ID与名称不匹配的字段时遇到问题。更改ID以匹配似乎可以解决问题。问题纯粹是PHP解析;没有JS参与。

重合?

谷歌没有回复......


一个函数(抱歉,旧的php4代码)生成该字段。这是它的一部分

echo "<select name=\"$varName";
echo "_dd\" id=\"$varName";
echo "e_dd\">\n"; 

从最后一行删除'e'显然已修复它。我自己没有这样做;有人在这告诉我它解决了这个问题。它没有打破每个日期字段,它似乎是一个间歇性的问题。这就是我立即想到一些奇怪的浏览器怪癖的原因。

3 个答案:

答案 0 :(得分:1)

在XHTML 1.1 strict中,id已替换名称,并且不推荐使用名称。

如果您的XHTML使用HTTP Content-Type application / xhtml + xml(根据标准,它必须)发送,那么概率是一个符合标准的浏览器Tee会使用id在PHP中填充$ _POST,而不是名称。

http://www.codingforums.com/archive/index.php/t-29229.html

请参阅XHTML 1.1规范:http://www.w3.org/TR/xhtml-modularization/abstract_modules.html

名称属性仅允许在小程序,小程序,框架,iframe和地图元素中使用。而恰好碰巧有名字的任何其他元素都必须具有相同名称的id。

答案 1 :(得分:0)

不,这是name attribute that names the control field

  

控件的“控件名称”由其name属性给出。 name元素中控件的FORM属性范围是FORM元素。

答案 2 :(得分:0)

清洁代码是很好的代码:)。你能证实这不起作用吗?

echo "<select name='".$varName."_dd' id='".$varName."e_dd'>\n"; 

很高兴看到生成的html。