检查表单是否已经提交 – 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)