检查表单是否已经提交 – PHP
检查一个表单是否被提交以确定我是否应该将表单的variables传递给我的validation类的最好方法是什么?
首先我想也许:
isset($_POST)
但是随着超全球化的到来,这将永远是真实的。 我不想在我的表单的每个元素迭代:
if(isset($_POST['element1']) || isset($_POST['element2']) || isset(...etc
在写这个问题的时候,我想到了一个更基本的解决scheme,添加一个隐藏字段作为我可以检查的标志。
有没有比join我自己的国旗更“干净”的方法呢?
一般检查是否有POST
动作使用:
if (!empty($_POST))
编辑 :如评论中所述,这种方法在某些情况下不起作用(例如,使用checkbox和没有名字的button)。 你真的应该使用:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
怎么样
if($_SERVER['REQUEST_METHOD'] == 'POST')
实际上,提交button已经执行了这个function。
尝试在表格中:
<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)"; }
if ($_SERVER['REQUEST_METHOD'] == 'POST')
。
使用
if(isset($_POST['submit'])) // name of your submit button
尝试这个
<form action="" method="POST" id="formaddtask"> Add Task: <input type="text"name="newtaskname" /> <input type="submit" value="Submit"/> </form> //Check if the form is submitted if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['newtaskname'])){ }
你也可以使用:
is_array($_POST)