检查表单是否已提交-PHP

检查是否已提交表单以确定是否应将表单变量传递给验证类的最佳方法是什么?


首先我想也许是:


isset($_POST)

但这将永远返回true,因为在任何地方都定义了超全局变量。我不想用以下方法遍历表单的每个元素:


if(isset($_POST['element1']) || isset($_POST['element2']) || isset(...etc

在写这个问题时,我想到了一个更基本的解决方案,同时添加一个隐藏字段作为我可以检查的标志。


有没有比添加自己的标志更“干净”的方法?


有只小跳蛙
浏览 417回答 3
3回答

慕后森

对于一般检查是否有POST动作使用:if (!empty($_POST))编辑:如评论中所述,此方法在某些情况下将不起作用(例如,带有复选框和没有名称的按钮)。您确实应该使用:if ($_SERVER['REQUEST_METHOD'] == 'POST')

慕容森

怎么样if($_SERVER['REQUEST_METHOD'] == 'POST')

繁花不似锦

实际上,提交按钮已经执行了此功能。尝试填写表格:<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)";}
打开App,查看更多内容
随时随地看视频慕课网APP