1

2 つの別々のフォームを持つ単一の動的 Web ページを作成しようとしています。

  1. サインインフォーム
  2. 登録用紙。

これは、フォームごとに 1 つの送信ボタンを意味し、1 つの送信ボタンをクリックすると、1 つのフォームからのみデータを収集する必要があります。以下に示すアプローチを試しましたが、データは 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

最初に投稿リクエストを確認してみてください

<?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 に答える
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
    }
    ?>
  • 1ページで16以上のフォームに使っています!これは、if または switch を使用してフォーム ボタンを制御する非常に簡単な方法です。
于 2012-08-19T10:15:16.820 に答える
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 に答える