1

我正在尝试使用两个单独的表单创建一个动态网页:

  1. 登录表格
  2. 报名表格。

这意味着每个表单都有一个提交按钮,单击一个提交按钮应该只从一个表单收集数据。我尝试了下面显示的方法,但数据没有提交到 mySql 数据库。我试过单独运行这些表单,它们确实可以与 mysql 数据库一起使用,所以我想应该还有其他问题。下面的代码没有详细说明,但我认为它的要点在里面。提前致谢!

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

<form id="form1" name="form1" action="" method="post">
...
<input type="submit" name="submit1" value="Sign in"/>
</form>


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

<form id="form2" name="form2" action="" method="post">
...
<input type="submit" name="submit2" value="Sign up"/>
</form>
4

4 回答 4

1

所以我喜欢这样:

使用带有 1 个名称的 2 个按钮:

    //========== first form ==========
    <form name="form1" action....>

    fields

    <input type="submit" name="_Submit" value="Login">
    </form>

    // ========== second form ==========

    <form name="form2" action....>

    fields

    <input type="submit" name="_Submit" value="Sign up">
    </form>


    // ========== in php file do this  ==========

    <?php
    $submit = $_POST["_Submit"];

    if($submit=="Login"){

       // get login form data


    }else if($submit=="Sign up"){
       // get sign up form data
    }else{
      // submit is empty or undefined value
    }
    ?>
  • 我在一页中将其用于超过 16 个表格!这是使用 if 或 switch 控制表单按钮的非常简单的方法!
于 2012-08-19T10:15:16.820 回答
1

尝试首先检查发布请求

<?php
if($_POST)
{
   echo "post occurs";              // only for testing to check whether post is occur or not

  if(isset($_POST['submit1']))
  { 
      doSomething(); 
  } 

  else if(isset($_POST['submit2']))
  { 
     doSomethngElse(); 
  }
  else
  {
        echo "no form is posted";
  }
 }
 else
 {
      echo "Post not happened";
  }
?>


<form id="form1" name="form1" action="" method="post">
...
<input type="submit" name="submit1" value="Sign in"/>
</form>


<form id="form2" name="form2" action="" method="post">
...
<input type="submit" name="submit2" value="Sign up"/>
</form>
于 2012-08-19T11:04:38.093 回答
0

就像我说的,你可以检查值是否为空,这样你就可以做到

if(isset($_POST['submit2']) == ""){
     //The variable is empty
}
else
{
   //The variable is not empty

}

如果我纠正你可以做

 if (!(empty($_POST['submit2'])){
         //This variable is not empty    

    }
于 2012-08-19T10:00:39.163 回答
0

并不是说这直接回答了您的问题,我认为您的其余代码将需要...但是...

为什么不只检查单个表单元素中的值,如下所示:

<?php
if(isset($_POST['submit1']))
{ 
    if(!empty($_POST['submit1']) && $_POST['submit1']=='SignIn')
    {
        // Do Some Code... like:
        ?>
        <form id="form1" name="form1" action="" method="post">
        ...
        <input type="submit" name="submit1" value="SignIn"/>
        </form>
        <?php
    }
    if(!empty($_POST['submit1']) && $_POST['submit1']=='SignUp')
    {
        // Do Some Other Code...
        ?>
        <form id="form2" name="form2" action="" method="post">
        ...
        <input type="submit" name="submit1" value="SignUp"/>
        </form>
        <?php
    }
} 
?>
于 2012-08-19T10:01:25.780 回答