2017-03-03 8 views
0

私は静的サイトのコードをコンタクトフォーム用に再利用しています。WordPressのカスタムPHPコンタクトフォーム

私は自分の問題が何かに関係していると想像しています。

何か問題が発生した場合、他のPHPコードが残っています。

ご協力いただければ幸いです。

おそらく、このフォームのindex.phpの部分だと思います。なぜなら、私のリンクにはドメインの拡張機能が含まれているからです。

www.richardmiddleton.me/growthitude-wordpressはサイトです。事前に

おかげ

PHP

<?php /* Template Name: home */ ?> 


<?php 
    if (isset($_POST["submit"])) { 
     $name = $_POST['name']; 
     $phone = $_POST['phone']; 
     $message = $_POST['message']; 
     $from = 'Form on site'; 
     $to = '[email protected]'; // BUSINESS EMAIL ADDRESS 
     $subject = 'Message from form'; 

     $body ="From: $name\n Number: $phone\n Message:\n $message"; 
     // Check if name has been entered 
     if (!$_POST['name']) { 
      $errName = 'Please enter your name'; 
     } 

     // Check if email has been entered and is valid 
     if (!$_POST['phone'] || !filter_var($_POST['phone'])) { 
      $errphone = 'Please enter a valid phone number'; 
     } 

     //Check if message has been entered 
     if (!$_POST['message']) { 
      $errMessage = 'Please enter your message'; 
     } 

// If there are no errors, send the email 
if (!$errName && !$errPhone && !$errMessage) { 
    if (mail ($to, $subject, $body, $from)) { 
     header("Location: success.html"); 
     exit(); 
    } else { 
     header("Location: fail.html"); 
     exit(); 
    } 
} 
    } 
?> 

<?php get_header(); ?> 

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 

<?php endwhile; ?> 
<?php endif; ?> 

<?php the_content(); ?> 

HTML

<form id="contact-form" role="form" method="post" action="index.php"> 

        <div class="controls"> 
         <div class="row"> 
          <div class="col-md-6"> 


           <!-- Form Name --> 

           <div class="form-group"> 

            <input type="text" class="form-control" id="name" required="required" name="name" placeholder="NAME (REQUIRED)" value="<?php echo htmlspecialchars($_POST['name']); ?>"> 
            <?php echo "<p class='text-danger'>$errName</p>";?> 
            <div class="help-block with-errors"></div> 
           </div> 

           <!-- END Form Name --> 

          </div> 


          <div class="col-md-6"> 


           <!-- Form Number --> 

           <div class="form-group"> 

            <input type="phone" class="form-control" id="phone" required="required" name="phone" placeholder="PHONE NUMBER (REQUIRED)" value="<?php echo htmlspecialchars($_POST['phone']); ?>"> 
            <?php echo "<p class='text-danger'>$errPhone</p>";?> 
            <div class="help-block with-errors"></div> 
           </div> 

           <!-- END Form Number --> 

          </div> 

         </div> 
         <!-- END ROW 1 FORM --> 



         <div class="row"> 
          <div class="col-md-12"> 


           <!-- Form Message --> 

           <div class="form-group"> 

            <textarea class="form-control" rows="10" placeholder="TELL US ABOUT YOUR CLEANING CARE NEEDS" name="message"><?php echo htmlspecialchars($_POST['message']);?></textarea> 
            <?php echo "<p class='text-danger'>$errMessage</p>";?> 
            <div class="help-block with-errors"></div> 
           </div> 

           <!-- END Form Message --> 


          </div> 


          <!-- Form Submit --> 

          <div class="col-md-12 text-center"> 
           <input id="submit" name="submit" type="submit" value="SEND" class="btn btn-success btn-md"> 
          </div> 

          <!-- END Form Submit --> 


         </div> 


         <!-- Form Required --> 

         <div class="row"> 
          <div class="col-md-12 text-center"> 

          </div> 
          <div class="form-group"> 
           <div class="col-sm-12"> 
            <?php echo $result; ?> 
           </div> 
          </div> 
         </div> 


       </form> 
+0

エラーメッセージが表示されますか? –

+0

いいえ、メールは到着しません。私が帰ってきたら、Ivijanの助けを借りようとします。 – Middi

答えて

0

あなたがwp_mail()の代わりmail()機能を使用する必要がありますGeneraly。 2つ目は、WordPressに定義されたPOST情報がいくつかあり、単純な投稿名フィールドを使用できないということです。

あなたはあなたがそれを使用することはできませんポスト名のような名前、電子メール、メッセージ、提出など

を持っています。

bzx_namebzx_emailbzx_messageなどのような接頭辞で置き換えます。また、$_POST['bzx_name']のように置き換えます。

actionアトリビュートformからindex.phpも削除してください。別のページに移動する必要がある場合は、ページを更新するかフルURLを入力するだけです。

修正後は正常に動作します。

関連する問題