2017-02-07 11 views
-1

連絡先メッセージを処理するためにnodeJSサイトに簡単なphpメールサーバーの接続があります。何らかの理由で(私は自分のローカルからテストしています)、割り当てられた電子メールアドレスにメッセージをルーティングしません。私はそれがHeroku上で実行されている私のライブサイトからでなければ動作しないかもしれないと聞いたので、地元からの実行を言及します。しかし、私は文字通り、ローカルから作業する別のアプリのコードを切り取って貼り付けました。ときように、何とか$toオブジェクトに接続する必要があり、私はどこかで少し混乱を得ている簡単なPHPの連絡フォームが送信時に送信されない

<?php 
// Check for empty fields 
if(empty($_POST['name'])  || 
    empty($_POST['email'])  || 
    empty($_POST['phone'])  || 
    empty($_POST['message']) || 
    !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) 
    { 
    echo "No arguments Provided!"; 
     return false; 
    } 

$name = $_POST['name']; 
$email_address = $_POST['email']; 
$phone = $_POST['phone']; 
$message = $_POST['message']; 

// Create the email and send the message 
$to = '[email protected]'; // Add your email address inbetween the ''  replacing [email protected] - This is where the form will send a message to. 
$email_subject = "Website Contact Form: $name"; 
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail:  $email_address\n\nPhone: $phone\n\nMessage:\n$message"; 
$headers = "From: [email protected]\n"; // This is the email address the generated message will be from. We recommend using something like [email protected] 
$headers .= "Reply-To:$email_address"; 
mail($to,$email_subject,$email_body,$headers); 
return true;    
?> 

が、私が私のhtml(id='success')で作成したボタンを提出するようだ:ここでcontact_me.phpためのコードです。ボタンをクリックすると、$toに関連付けられた電子メールアドレスにメッセージが送信されます。ここに私のHTMLがあります。私はここに何かを逃していますか

<div class="container"> 
     <div class="row"> 
      <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
       <h2 class="featurette-heading" style="text-align: center;">Message</h2> 
       <h3 class="text-muted">Want to book an appointment? Send me a message and I'll contact you. Make sure you include your name, phone number, email, and when you'd like to book. It's that easy!</h3> 
       <form name="sentMessage" id="contactForm" novalidate> 
        <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group"> 
         <div class="form-group col-xs-12 floating-label-form-group controls"> 
          <label></label> 
          <input type="text" class="form-control" placeholder="Name" id="name" required data-validation-required-message="Please enter your name."> 
          <p class="help-block text-danger"></p> 
         </div> 
        </div> 
        <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group"> 
         <div class="form-group col-xs-12 floating-label-form-group controls"> 
          <label></label> 
          <input type="email" class="form-control" placeholder="Email Address" id="email" required data-validation-required-message="Please enter your email address."> 
          <p class="help-block text-danger"></p> 
         </div> 
        </div> 
        <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group"> 
         <div class="form-group col-xs-12 floating-label-form-group controls"> 
          <label></label> 
          <input type="tel" class="form-control" placeholder="Phone Number" id="phone" required data-validation-required-message="Please enter your phone number."> 
          <p class="help-block text-danger"></p> 
         </div> 
        </div> 
        <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group"> 
         <div class="form-group col-xs-12 floating-label-form-group controls"> 
          <label></label> 
          <textarea rows="5" class="form-control" placeholder="Message" id="message" required data-validation-required-message="Please enter a message."></textarea> 
          <p class="help-block text-danger"></p> 
         </div> 
        </div> 
        <br> 
        <div id="success"></div> 
         <div class="row"> 
          <div class="form-group col-xs-12"> 
           <button type="submit" class="btn btn-primary">Send</button> 
          </div> 
         </div> 
        </div> 
       </form> 
      </div> 
     </div> 
</div>  

私は最初の答えからこのメッセージを修正しました。最初の答えはうまくいくように見えましたが、リクエストが通過しないようにするエラーが表示されています。これはエラーメッセージです。 enter image description here

+0

次のような質問をするとき、あなたは「動作しない」を定義する必要があります - 問題が何であるかを見ることが可能であるべきですあなたが提供した情報だけをコードを設定することなく見つけ出してみてください。 – Synchro

答えて

1

node.jsではなくPHPを使用しています。

は非常にです。基本的なこと:フォームフィールドの名前を指定していないので、チェックしても何もありません。 nameemailphonemessageをチェックしていますが、フィールドには名前属性はまったくありません。あなたはHTMLでそれらに名前を付ける必要がある - となし、IDの値は動作しません。

<div class="container"> 
     <div class="row"> 
      <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
       <h2 class="featurette-heading" style="text-align: center;">Message</h2> 
       <h3 class="text-muted">Want to book an appointment? Send me a message and I'll contact you. Make sure you include your name, phone number, email, and when you'd like to book. It's that easy!</h3> 
       <form name="sentMessage" id="contactForm" novalidate> 
        <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group"> 
         <div class="form-group col-xs-12 floating-label-form-group controls"> 
          <label></label> 
          <input type="text" class="form-control" placeholder="Name" id="name" name="name" required data-validation-required-message="Please enter your name."> 
          <p class="help-block text-danger"></p> 
         </div> 
        </div> 
        <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group"> 
         <div class="form-group col-xs-12 floating-label-form-group controls"> 
          <label></label> 
          <input type="email" class="form-control" placeholder="Email Address" id="email" name="email" required data-validation-required-message="Please enter your email address."> 
          <p class="help-block text-danger"></p> 
         </div> 
        </div> 
        <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group"> 
         <div class="form-group col-xs-12 floating-label-form-group controls"> 
          <label></label> 
          <input type="tel" class="form-control" placeholder="Phone Number" id="phone" name="phone" required data-validation-required-message="Please enter your phone number."> 
          <p class="help-block text-danger"></p> 
         </div> 
        </div> 
        <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group"> 
         <div class="form-group col-xs-12 floating-label-form-group controls"> 
          <label></label> 
          <textarea rows="5" class="form-control" placeholder="Message" id="message" name="message" required data-validation-required-message="Please enter a message."></textarea> 
          <p class="help-block text-danger"></p> 
         </div> 
        </div> 
        <br> 
        <div id="success"></div> 
         <div class="row"> 
          <div class="form-group col-xs-12"> 
           <button type="submit" class="btn btn-primary">Send</button> 
          </div> 
         </div> 
        </div> 
       </form> 
      </div> 
     </div> 
</div> 
+0

」の間だけを意味しますか?あるいは、 ''のようにする必要がありますか? – jcbridwe

+0

後者はHTMLのように投稿しました。 – Synchro

関連する問題