【发布时间】:2011-12-04 10:01:24
【问题描述】:
检查表单是否已提交以确定是否应将表单变量传递给验证类的最佳方法是什么?
首先我想也许:
isset($_POST)
但这将始终返回 true,因为在任何地方都定义了超全局。我不想遍历表单的每个元素:
if(isset($_POST['element1']) || isset($_POST['element2']) || isset(...etc
在写这个问题时,我想到了一个更基本的解决方案,添加一个隐藏字段作为我可以检查的标志。
有没有比添加我自己的标志更“干净”的方法?
【问题讨论】:
-
好吧,您可以创建一个具有特定名称的提交按钮,例如
submited,然后使用 phpif(isset($_POST['submited']))或隐藏输入... -
您应该添加一个通知以防止对您的表单进行重放攻击。
标签: php forms validation