Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在单个PHP文件中使用不同的表单?_Php_Mysql_Html - Fatal编程技术网

如何在单个PHP文件中使用不同的表单?

如何在单个PHP文件中使用不同的表单?,php,mysql,html,Php,Mysql,Html,我正在尝试创建一个包含两个单独表单的动态网页: 签到表 登记表 这意味着每个表单有一个提交按钮,单击一个提交按钮只能从一个表单收集数据。我尝试了下面所示的方法,但数据没有提交到mySql数据库。我已经尝试过单独运行表单,它们确实可以使用mysql数据库,所以我想应该还有其他问题。下面的代码没有任何细节,但我认为它的要点在里面。提前谢谢 <?php if(isset($_POST['submit1'])) { doSomething(); } ?> <form id="f

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

  • 签到表
  • 登记表 这意味着每个表单有一个提交按钮,单击一个提交按钮只能从一个表单收集数据。我尝试了下面所示的方法,但数据没有提交到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>
    
    
    ...
    ...
    
    如我所说,您可以检查值是否为空,这样您就可以执行以下操作

    if(isset($_POST['submit2']) == ""){
         //The variable is empty
    }
    else
    {
       //The variable is not empty
    
    }
    
     if (!(empty($_POST['submit2'])){
             //This variable is not empty    
    
        }
    
    如果我纠正的话,你可以这样做

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

    这并不是直接回答你的问题,我认为你的代码的其余部分将需要为这。。。但是

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

    <?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
        }
    } 
    ?>
    
    
    ...
    ...
    
    所以我喜欢这样:

    <?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
        }
    } 
    ?>
    
    使用2个按钮和1个名称:

        //========== 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
        }
        ?>
    
    /=============第一种形式==========
    领域
    //=============第二种形式==========
    领域
    //=========在php文件中执行此操作==========
    
    • 我在一页中使用了超过16个表单!这是使用if或switch控制表单按钮的非常简单的方法
    尝试先检查post请求

    <?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>
    
    
    ...
    ...
    
    您只需检查它们的值是否为空,如果为空,则跳过它们并检查另一个值。这种方法很好,但听上去,他需要更多地了解单个php代码中的多个变量