我一直在阅读 PHP 表单处理教程,他们建议在表单中使用隐藏字段,以便 PHP 可以使用类似的东西IF ($_POST['hidden_field'] == whatever
来检测表单是已提交还是仅显示。
但是在XDebug
开始使用 Notepad++ 并单步执行代码并观察变量之后,我不清楚为什么我们不能IF ($_POST['submit_button'] == 'Ok')
完全取消隐藏字段。
毕竟,似乎没有时间设置隐藏字段而不设置其他表单字段(即使它们是空的)。第一次,在显示表单时,在提交之前,$_POST
变量已经存在,但它是空的。我想我们也可以用它IF (!empty($_POST))
来查看表单是否已提交?
是否存在我遗漏的特殊情况,其中隐藏字段是检测表单提交所必需的?
编辑:好的,我缺少的特殊情况需要隐藏字段似乎是这样的。http://www.vbforums.com/showthread.php?562749-PHP-Checking-if-a-form-has-been-submitted-the-correct-way看来如果你按 Enter 提交表单, $_POST 变量不会包含提交按钮的值。Chrome 似乎没有这样的行为,但也许其他浏览器会这样做。