【问题标题】:Have multiple if (isset($_POST["submit"])) on one page [duplicate]一页上有多个 if (isset($_POST["submit"])) [重复]
【发布时间】:2016-01-09 20:12:08
【问题描述】:

我的页面上有两次以下代码。

if (isset($_POST["submit"])) {
 // ...
}

如何将它们分开?例如:

if (isset($_POST["#form1"])) {
 // code
}
if (isset($_POST["#form2"])) {
 // code
}

我知道这行不通,但如果我想做的话,这是一个例子

【问题讨论】:

  • 您可以为不同的提交按钮指定不同的名称,或者检查不同表单中唯一命名的元素。

标签: php html forms submit


【解决方案1】:

根据下面的评论,最好在表单中有一个命名的提交按钮元素。

<form name="form" action="<?php echo __FILE__ ?>" method="POST">
  <input name="form1" type="submit" value="Submit">
</form>


<?php
  if(isset($_POST['form1'])){ 
    var_dump($_POST);
  }
?>

由于我一直在使用 ajax 请求,因此我并没有真正遇到问题,但是使用 jQuery 也可以在表单中使用名称。

但是我很确定 stackoverflow 周围有多个答案,所以下次搜索会更好一点。

【讨论】:

  • 名称应该在提交输入上,而不是在表单本身上..
  • 命名表单确实有效@Reloecc,但前提是使用 jQuery。
  • 更新了我的答案,感谢快速实用的 cmets
  • 由于某种原因这对我们不起作用..
  • NVM,我没有在提交按钮中添加name="formname"
【解决方案2】:

HTML

<form name="form1" action="/url" method="POST">

</form>

PHP

if (isset($_POST["form1"])) {
 // ...
}

【讨论】:

  • 虽然这可能会回答 OP 的问题,但如果您解释它如何以及为什么解决问题并且不介绍其他问题,这个答案会更有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-04
  • 2015-03-05
  • 1970-01-01
  • 1970-01-01
  • 2016-04-14
  • 2014-01-01
  • 1970-01-01
相关资源
最近更新 更多