php smtp sendgridフォームの送信がありますが、フォームデータはありません

StackOverflow https://stackoverflow.com/questions/19846279

質問

SMTP SendGridを使用してPHPフォームのセットアップがあります。フォームは正常に送信されますが、メールは含まれていないデータなしで通過します。 HTMLフォームには一致する名前= ...私は何が間違っているのですか?

ファーストネーム:
苗字:
会社:
職名:
Eメール:
電話:
メッセージ:

require("phpmailer.php");
    $mail = new PHPMailer();

    // SMTP & Sendgrid settings
    $mail->IsSMTP();
    $mail->Host = "smtp.sendgrid.net";
    $mail->Port = "NNN";
    $mail->SMTPAuth = "true";   // Enable SMTP authentication
    $mail->Username = "username";  
    $mail->Password = "password";
    $mail->SMTPSecure = ''; // Enable encryption, 'ssl' also accepted

    // Email headers and body
    $mail->SetFrom("myemail@email.com");
    $mail->AddAddress("myemail@email.com");

    $mail->Subject  = "Message from site.com";
    $mail->Body     = "You have a new message from your contact form on site.com \n \n First Name: $FirstName \n Last Name: $LastName \n Company: $Company \n Job Title: $JobTitle \n Email: $Email \n Phone: $Phone \n Message: $Message";
    $mail->WordWrap = 50;

    // Form fields
    $FirstName = $_POST['FirstName'];
    $LastName = $_POST['LastName'];
    $Company = $_POST['Company'];
    $JobTitle = $_POST['JobTitle'];
    $Email = $_POST['Email'];
    $Phone = $_POST['Phone'];
    $Message = $_POST['Message'];

    if(!$mail->Send()) {
      echo 'Message was not sent.';
      echo 'Mailer error: ' . $mail->ErrorInfo;
    } 
    else {
      echo 'Message has been sent.';
    }

これがHTMLです:

<form id="ContactForm" class="form" method="POST" action="http://staging.shipmenthq.com/mail.php" onsubmit="validateForm()">
                    <div class="formRow">
                        <div class="formHalf padRight">
                            <label>*First Name:</label>
                            <input type="text" name="FirstName">
                        </div>
                        <div class="formHalf">
                            <label>*Last Name:</label>
                            <input type="text" name="LastName">
                        </div>
                    </div>
                    <div class="formRow">
                        <span class="formFull">
                            <label>*Company:</label>
                            <input type="text" name="Company">
                        </span>
                    </div>
                    <div class="formRow">
                        <span class="formFull">
                            <label>*Job Title:</label>
                            <input type="text" name="JobTitle">
                        </span>
                    </div>
                    <div class="formRow">
                        <span class="formFull">
                            <label>*Email:</label>
                            <input type="email" name="Email">
                        </span>
                    </div>
                    <div class="formRow">
                        <span class="formFull">
                            <label>*Phone Number:</label>
                            <input type="tel" name="Phone">
                        </span>
                    </div>
                    <div class="formRow">
                        <span class="formFull">
                            <label>Message:</label>
                            <textarea name="Message"></textarea>
                        </span>
                    </div>
                    <div class="formRow">
                        <span class="formFull">
                            <input type="submit" value="Submit Form" class="button" />
                        </span>
                    </div>
                        </form>
役に立ちましたか?

解決

おっとっと!私は今問題を見ています。あなたはあなたのフォームからの変数を使用しています、例: $FirstName それらが割り当てられる前に。

あなたを動かしてください $mail->Body あなたの下の割り当て // Form fields ブロック。

:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top