2016-05-01 12 views
0

私は最終年度のプロジェクトに取り組んでいます。ファイルをアップロードしているフォームが1つあり、アップロードボタンをクリックするとすぐにこのフォームが2つ必要ですある:私は行うことができます現時点では、メール 1つの送信ボタン、2つのPHPファイルへのリダイレクト

を送信いずれかの一つのファイルをemail.phpするデータベース

  • リダイレクトでファイルを格納するファイルをupload.phpする

    1. リダイレクトフォームアクションに応じて上記の..

      コードは次のとおりです。index.phpの `

      <form action="email.php" method="post" enctype="multipart/form-data"> 
      <input type="file" name="file" /> 
      <button type="submit" name="btn-upload">Upload</button> 
      </form> 
      
      <?php 
      if(isset($_GET['success'])) 
      { 
      ?> 
      <div align="center"> 
      </label>File Uploaded...<a href="view.php" class="button">Click to View</a></label> 
      </div> 
      <?php 
      } 
      else if(isset($_GET['fail'])) 
      { 
      ?> 
      <label>Problem While File Uploading !</label> 
      <?php 
      } 
      else 
      { 
      ?> 
      

      この形式は次のようにemail.phpとupload.phpに呼び出されます。

      if(isset($_POST['btn-upload'])) 
      { 
          doSomething; 
      
      } 
      else 
      { 
          doSomethingElse; 
      } 
      

      事前にすべてのいただきありがとうございます!! !

  • +1

    HTMLフォームは2つのアクションを持つことはできません。そのため、サーバーのログインを1つのファイルに入れたり、最初のファイルの 'include'または 'require'を使用します。 –

    +1

    あなたは責任パターンのチェーンを使用し、この要求を同様にルーティングしないでください:Form => insert into Database =>電子メールを送信 –

    +1

    このコードは、自分の問題を解決するための妥当な試みではありません__doSomething/doSomethingElse__したがって、私のために___doのようにrequest___ – RiggsFolly

    答えて

    1

    if条件の前に$変数を設定する必要があります。

    ような

    :その後、

    if(isset($_GET['success'])) { 
    $condition1 = true; 
    } { 
    $condition1 = false; 
    } 
    
    if(isset($_POST['btn-upload'])) { 
    $condition2 = true; 
    } else { 
    $condition2 = false; 
    } 
    

    そして、あなたの仕事を行います。

    if ($condition1 && $condition2) { 
    //send email + upload 
    } else if (!$condition1) { 
    //error upload 
    } else if (!$condition2) { 
    //error mail 
    } 
    

    しかし、私はそれが同時にGET/POSTアクションを行うことは許されないと思います。