检查是否已提交表单以确定是否应将表单变量传递给验证类的最佳方法是什么?首先我想也许是:isset($_POST)但这将永远返回true,因为在任何地方都定义了超全局变量。我不想用以下方法遍历表单的每个元素:if(isset($_POST['element1']) || isset($_POST['element2']) || isset(...etc在写这个问题时,我想到了一个更基本的解决方案,同时添加一个隐藏字段作为我可以检查的标志。有没有比添加自己的标志更“干净”的方法?
3 回答
慕后森
TA贡献1802条经验 获得超5个赞
对于一般检查是否有POST动作使用:
if (!empty($_POST))
编辑:如评论中所述,此方法在某些情况下将不起作用(例如,带有复选框和没有名称的按钮)。您确实应该使用:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
繁花不似锦
TA贡献1851条经验 获得超4个赞
实际上,提交按钮已经执行了此功能。
尝试填写表格:
<form method="post">
<input type="submit" name="treasure" value="go!">
</form>
然后在PHP处理程序中:
if (isset($_POST['treasure'])){
echo "treasure will be set if the form has been submitted (to TRUE, I believe)";
}
- 3 回答
- 0 关注
- 431 浏览
添加回答
举报
0/150
提交
取消