Php 一种情况下有两个提交按钮

Php 一种情况下有两个提交按钮,php,post,conditional-statements,Php,Post,Conditional Statements,我对“条件中的条件”有问题。这两个条件都取决于表单中的提交按钮。情况:用户点击第一个提交按钮->调用类的3个方法->第三个方法用另一个提交按钮“创建”另一个表单。此提交按钮是第二个重要条件的主题。当按下第二个submit按钮时,将调用两个方法。但是什么也没发生。第四种方法和第五种方法应遵循之前的方法。我怎样才能解决这个问题?我希望问题描述不会令人困惑。还有一个小代码示例。谢谢 $c = new Class; if(isset($_POST['button'])) { $c->fi

我对“条件中的条件”有问题。这两个条件都取决于表单中的提交按钮。情况:用户点击第一个提交按钮->调用类的3个方法->第三个方法用另一个提交按钮“创建”另一个表单。此提交按钮是第二个重要条件的主题。当按下第二个submit按钮时,将调用两个方法。但是什么也没发生。第四种方法和第五种方法应遵循之前的方法。我怎样才能解决这个问题?我希望问题描述不会令人困惑。还有一个小代码示例。谢谢

$c = new Class;

 if(isset($_POST['button'])) {
   $c->firstMethod();
   $c->secondMethod();

   if($c->thirdMethod() != false) {
     echo ".. the second form with submit button will be here ...";
   }

   if(isset($_POST['button_of_second_form'])) {
     $c->fourthMethod();
     $c->fifthMethod();
   }
 }

我相信当提交第二份表格时,它不会通过第一个条件,因为第一个条件是您正在检查:

if(isset($_POST['button'])) {....

在这个条件块中,您正在检查第二个表单。如果您可以将
按钮的隐藏值包含在第二个表单中,那么它将从第一个条件中获得通过,但是您必须注意第一个和第二个方法不能运行。

因此您希望在不同的阶段收集数据。将第二个表单按钮的条件移动到第一个窗体的按钮。。。但我不确定我是否完全明白你的问题…谢谢你的回答。我知道问题出在哪里,但我不知道这种情况如何解决。我需要将以前方法返回的值传递到第四种方法和第五种方法。你能再解释一下你关于隐藏值的想法吗?好的,在第一个条件检查:
if(isset($\u POST['button']))| | isset($\u POST['hidden\u value']){
然后,如果隐藏值
if(!isset($\u POST['hidden\u value']){$c->firstMethod()$c->secondMethod则不运行第一个方法和第二个方法
然后在执行第二个表单的echo的地方添加
,以便它应该通过第一个条件。