0

サイドバーのログインフォームの下に電卓フォームがあります。ユーザーがログイン フォームを送信すると、そのアクションによって次のことがトリガーされます。

if ($_SERVER['REQUEST_METHOD'] == 'POST') {}

私の別の形での声明。私は追加しようとしました:

if (isset($varOne)) {}

以下を使用したステートメント:

$varOne = $_POST['varOne'];

電卓スクリプトから、しかしそれもうまくいきませんでした。ログイン フォームが送信されると、電卓スクリプトは引き続き実行されます。どうやって狂気を止めなければならない?!

4

2 に答える 2

3

次の 2 つを組み合わせることができます。

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['varOne'])) {
  // calculator button was pressed
}

また:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  if (isset($_POST['varOne'])) {
    // calculator button was pressed
  } else {
    // probably a login post
  }
}
于 2012-11-13T14:54:48.600 に答える
1

これを行う方法として、<form>タグから get メソッドを介して追加のパラメーターを渡すことが考えられます。

<form action="somefile.php?formname=login" method="post"> 

</form>

そして、電卓フォームに置くことができます

 <form action="somefile.php?formname=calculator" method="post"> 

 </form>

最後に、フォーム処理スクリプトで確認できます

<?php 
   if(isset($_GET['formname'])){
     if($_GET['formname']=='login'){
           //get login form fields 
          $someVar=$_POST['fieldname']; //etc etc

     }

     if($_GET['formname']=='calculator'){
           //get calculator form fields 
          $someVar=$_POST['fieldname']; //etc etc

     }

   }
?>
于 2012-11-13T15:01:50.200 に答える