2016-07-02 32 views
0

誰でも助けてくれますか? 私はここからこのプラグインを持っています:https://github.com/agragregra/uniMail これは完璧ですが、フォームにファイルの添付をサポートせず、テキスト入力のみをサポートしています。 ここmail.phpからコード添付ファイルを添付ファイルに追加

$("form").submit(function() { //Change 
    var th = $(this); 
    $.ajax({ 
     type: "POST", 
     url: "mail.php", //Change 
     data: th.serialize() 
    }).done(function() { 
     alert("Thank you!"); 
     setTimeout(function() { 
      // Done Functions 
      th.trigger("reset"); 
     }, 1000); 
    }); 
    return false; 
}); 

とofcourseのコードです

<?php 

$method = $_SERVER['REQUEST_METHOD']; 

//Script Foreach 
$c = true; 
if ($method === 'POST') { 

    $project_name = trim($_POST["project_name"]); 
    $admin_email = trim($_POST["admin_email"]); 
    $form_subject = trim($_POST["form_subject"]); 
    $inp = trim($_POST["summary_file"]); 


    foreach ($_POST as $key => $value) { 
     if ($value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject") { 
      $message .= " 
      " . (($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">') . " 
      <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td> 
      <td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td> 
     </tr> 
     "; 
    } 
} 
} else if ($method === 'GET') { 

    $project_name = trim($_GET["project_name"]); 
    $admin_email = trim($_GET["admin_email"]); 
    $form_subject = trim($_GET["form_subject"]); 


    foreach ($_GET as $key => $value) { 
     if ($value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject") { 
      $message .= " 
      " . (($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">') . " 
      <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td> 
      <td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td> 
     </tr> 
     "; 
    } 
} 
} 

$message = "<table style='width: 100%;'>$message</table>"; 

function adopt($text) { 
    return '=?UTF-8?B?'.base64_encode($text).'?='; 
} 

$headers = "MIME-Version: 1.0" . PHP_EOL . 
"Content-Type: text/html; charset=utf-8" . PHP_EOL . 
'From: '.adopt($project_name).' <'.$admin_email.'>' . PHP_EOL . 
'Reply-To: '.$admin_email.'' . PHP_EOL; 

mail($admin_email, adopt($form_subject), $message, $headers); 

答えて

0

3段階:HTML、PHP&メール

このコードは簡単に添付ファイルを追加するように構成することができません。

ファイル入力をHTMLフォームに追加することは非常に基本的です。あなたはインターネット上のすべての例を見つけることができます。これは、おそらく障害ではありません。 PHPでファイルのアップロードの処理

は多少tricklyすることができますが、マニュアルで説明されています。http://php.net/manual/en/features.file-upload.php

あなたのコードは非常に基本的なものですmail()機能を、使用しています。あなたが複数のメールをエンコードする必要があります。これは、あなたの能力を超えて、この困難を感じる場合です。あなたは、PHPMailer(https://github.com/PHPMailer/PHPMailer)のようなものを使うことをお勧めします。

これらの3つの要素を結合すると、ファイルを処理する準備が整います。私はそれがあなたのためにすべてのこの作業を行うためにスタックオーバーフローを超えていると思う。自分でできない場合は、誰かを雇ってこれを行うことができます。

関連する問題