Php Chrome处理空表单字段与其他浏览器不同吗?

Php Chrome处理空表单字段与其他浏览器不同吗?,php,forms,google-chrome,Php,Forms,Google Chrome,根据我的一个PHP脚本,Google Chrome正在发送一个带有表单post的空输入字段(例如novalue=“)。这反映在PHP中的$\u POSTsuperglobal中。然而,其他浏览器并没有表现出同样的行为 此外,所讨论的位于内部(即代码中的逐字)。似乎其他浏览器没有发送此消息 我如何/在何处找到文件或证据证明Chrome以不同方式处理此问题 更新 事实证明,div应用了一个css样式,它应用了visibility:hidden-我不确定这是否会改变下面的答案 有关实际代码,请参见此处

根据我的一个PHP脚本,Google Chrome正在发送一个带有表单post的空输入字段(例如no
value=“
)。这反映在PHP中的
$\u POST
superglobal中。然而,其他浏览器并没有表现出同样的行为

此外,所讨论的
位于
内部(即代码中的逐字)。似乎其他浏览器没有发送此消息

我如何/在何处找到文件或证据证明Chrome以不同方式处理此问题

更新

事实证明,div应用了一个css样式,它应用了
visibility:hidden-我不确定这是否会改变下面的答案

有关实际代码,请参见此处:

从表单处理程序:

从表格中:


我可以确认Firefox和Safari也表现出这种行为

<?php
    var_dump($_POST);
?>
<form method="post">
    <input type="hidden" name="hiddenField" />
    <input type="submit" />
</form>
同样在一个隐藏的div中测试,使用
value=“”
,结果是相同的。还应该指出,我认为根据标准,用
/>
关闭div实际上是不允许的,这对我来说似乎是一种不好的做法(因为你说的是逐字逐句)


编辑:出于我自己的好奇心,我现在也尝试了它,但没有完全删除
type=“hidden”
type
属性,简单
)并将其放置在一个div中,其中
显示:none
。结果在Firefox和Safari中保持一致。

我找到了解决方案-结果是在Chrome中,它用自动填写的电子邮件地址填充此表单字段。确认提交表格结果的
var dump


非常感谢那些对此进行调查的人——这让我走上了解决问题的道路。全体投票

为什么这很重要?无论如何,您都应该在PHP中验证表单值。@jsumners如果您添加一个隐藏字段作为脚本/机器人程序的蜜罐,它将提交一个值。同样,这应该得到验证,但它会导致问题您有任何chrome扩展吗?你能发布HTML源代码吗?我正在发布源代码@格雷格-是的,这是一个蜜罐。我真的很想看到更多的源代码,以及您尝试复制使用类似的代码。您可以声明
输入
位于以
/>
结尾的div内。这是不可能的,因为div是用它自己的标记关闭的,所以你不能在这个div中放置任何东西。你所经历的可能是一个错误代码的产物,其他浏览器实际上正确地处理了它。不管是什么情况,我只是调试一个现有的表单字段以解决一个咨询问题。我同意,这是非最优的。@菲尔,我不认为你会发现Chrome处理事情的方式与我刚才测试的不同,其他浏览器的行为似乎与你描述的方式相同。@菲尔,仅供参考,使用
可见性:hidden
  <td><div style="visibility:hidden; display:none"> <input type="text" name="E-mail" ></div></td>
<?php
    var_dump($_POST);
?>
<form method="post">
    <input type="hidden" name="hiddenField" />
    <input type="submit" />
</form>
array(1) {
  ["hiddenField"]=>
  string(0) ""
}