0

I have a code in php and i want to use that code in my wordpress website. I have created a contact form included some field calculations (multiplication/addition) on the client side. But after the user fills the form, user submit the form for mail processing.

I am using wp_mail() function to receive mail from user. But the problem is that, i have multiple fields and the wp_mail function accepts only

wp_mail($to, $name, $message, $headers, $attachments);

I have following for example:

<?php
if (isset($_POST['submit'])) {
//user posted variables
  $name = $_POST['name'];
  $email = $_POST['email'];
  $message = $_POST['message'];
  $zip = $_POST['zip-code'];
  $f_name = $_POST['-fname'];
  $f_email = $_POST['f-email'];
  $address = $_POST['address'];
  $number = $_POST['number'];
}
?>

I am confused how wp_mail() will send all this information via mail. Is there a way to to send all this data using wp_mail() or any other option?

Full Code.

    <?php
    /**
     * Template Name: Order Form Page
     *
     * @package Angle
     * @subpackage Frontend
     * @since 0.1
     *
     * @copyright (c) 2014 Oxygenna.com
     * @license http://wiki.envato.com/support/legal-terms/licensing-terms/
     * @version 1.15.1
     */
    get_header();
    ?>


<head>

    <script>
    // UTILITY FUNCTIONS 
    function calculate() {
        var myBox1 = document.getElementById('myBoxVal').value;
        var myBox2 = document.getElementById('sparkle-num-pallets').value;
        var result = document.getElementById('result');
        var myResult = myBox1 * myBox2;
        result.value = myResult;


    }
    </script>
    <style>
    table,
    th,
    td {
        border: 1px solid gray;
        text-align: center;
        font-size: 14px;
    }
    </style>


</head>

<?php
    
      //response generation function
    
      $response = "";
    
      //function to generate response
      function my_contact_form_generate_response($type, $message){
    
        global $response;
    
        if($type == "success") $response = "<div class='success'>{$message}</div>";
        else $response = "<div class='error'>{$message}</div>";
    
      }
    
      //response messages
      $not_human       = "Human verification incorrect.";
      $missing_content = "Please provide all information.";
      $email_invalid   = "Invalid Email Address .";
      $message_unsent  = "Message was not sent. Try Again.";
      $message_sent    = "Thanks! Your message has been sent.";
      
    
      //user posted variables
    
      if(isset($_POST['submit'])){
      $name = $_POST['name'];
      $email = $_POST['email'];
      $bill_to = $_POST['Bill-to'];
      $ship_to = $_POST['Ship-to'];
      $date = $_POST['date'];
      $po = $_POST['PO'];
      $phone = $_POST['Phone-number'];

      $Amount_of_FC104 = $_POST['Amount-of-FC104'];
      $pro_FC104 = $_POST['FC104-QTY'];
    
      $Amount_of_H2020 = $_POST['Amount-of-H2020'];
      $pro_H2020 = $_POST['H2020-QTY'];
    
      $Amount_of_ST200 = $_POST['Amount-of-ST200'];
      $pro_ST200 = $_POST['ST200-QTY'];
    
      $Amount_of_UFO_1 = $_POST['Amount-of-UFO-1'];
      $pro_UFO_1 = $_POST['UFO-1-QTY'];
    
      $Amount_of_UFO_2 = $_POST['Amount-of-UFO-2'];
      $pro_UFO_2 = $_POST['UFO-2-QTY'];
    
      $Amount_of_LECB600 = $_POST['Amount-of-LECB600'];
      $pro_LECB600 = $_POST['LECB600-QTY'];
    
      $Amount_of_LEDB700 = $_POST['Amount-of-LEDB700'];
      $pro_LEDB700 = $_POST['LEDB700-QTY'];
    
      $Amount_of_LECB800 = $_POST['Amount-of-LECB800'];
      $pro_LECB800 = $_POST['LECB800-QTY'];
    
      $Amount_of_8089G = $_POST['Amount-of-8089G'];
      $pro_8089G = $_POST['8089G-QTY'];
    
      $Amount_of_LE1911 = $_POST['Amount-of-LE1911'];
      $pro_LE1911 = $_POST['LE1911-QTY'];
    
      $Amount_of_ME8342 = $_POST['Amount-of-ME8342'];
      $pro_ME8342 = $_POST['ME8342-QTY'];
    
      $Amount_of_ME8440 = $_POST['Amount-of-ME8440'];
      $pro_ME8440 = $_POST['ME8440-QTY'];
      
      $Amount_of_NV1455 = $_POST['Amount-of-NV1455'];
      $pro_NV1455 = $_POST['NV1455-QTY'];
    
      $Amount_of_LESM200 = $_POST['Amount-of-LESM200'];
      $pro_LESM200 = $_POST['LESM200-QTY'];
    
      $Amount_of_MAG_DOTZ = $_POST['Amount-of-MAG-DOTZ'];
      $pro_MAG_DOTZ = $_POST['MAG-DOTZ-QTY'];
    
      $Amount_of_MLB_01 = $_POST['Amount-of-MLB-01'];
      $pro_MLB_01 = $_POST['MLB-01-QTY'];
    
      $Amount_of_WW100 = $_POST['Amount-of-WW100'];
      $pro_WW100 = $_POST['WW100-QTY'];
    
      $Amount_of_WW200 = $_POST['Amount-of-WW200'];
      $pro_WW200 = $_POST['WW200-QTY'];
    
      $Amount_of_LEWS810_BLK = $_POST['Amount-of-LEWS810-BLK'];
      $pro_LEWS810_BLK = $_POST['LEWS810-BLK-QTY'];
    
      $Amount_of_73421 = $_POST['Amount-of-73421'];
      $pro_73421 = $_POST['73421-QTY'];
    
      $Amount_of_LPU900 = $_POST['Amount-of-LPU900'];
      $pro_LPU900 = $_POST['LPU900-QTY'];
    
      $Amount_of_LEF10 = $_POST['Amount-of-LEF10'];
      $pro_LEF10 = $_POST['LEF10-QTY'];
    
      $Amount_of_LEF1 = $_POST['Amount-of-LEF1'];
      $pro_LEF1 = $_POST['LEF1-QTY'];
    
      $Amount_of_LEF855 = $_POST['Amount-of-LEF855'];
      $pro_LEF855 = $_POST['LEF855-QTY'];
    
      $message .= "Name: " . $name . "\n";
      $message .= "Email: " . $email . "\n";
      $message .= "Ship To: " . $ship_to . "\n";
      $message .= "Bill To: " . $bill_to . "\n";
      $message .= "Phone Number: " . $phone . "\n";
      $message .= "PO: " . $po . "\n";
      $message .= "Date: " . $date . "\n";

      $message .= "Amount-of-FC104: " . $$Amount_of_FC104 . "\n";
      $message .= "FC104-QTY: " . $pro_FC104 . "\n";
      $message .= "Amount-of-H2020: " . $$Amount_of_H2020 . "\n";
      $message .= "H2020-QTY: " . $pro_H2020 . "\n";
      $message .= "Amount-of-ST200: " . $$Amount_of_ST200 . "\n";
      $message .= "ST200-QTY: " . $pro_ST200 . "\n";
      $message .= "Amount-of-UFO-1: " . $$Amount_of_UFO_1 . "\n";
      $message .= "UFO-1-QTY: " . $pro_UFO_1 . "\n";
      $message .= "Amount-of-UFO-2: " . $$Amount_of_UFO_2 . "\n";
      $message .= "UFO-2-QTY: " . $pro_UFO_2 . "\n";
      $message .= "Amount-of-LECB600: " . $$Amount_of_LECB600 . "\n";
      $message .= "LECB600-QTY: " . $pro_LECB600 . "\n";
      $message .= "Amount-of-LEDB700: " . $$Amount_of_LEDB700 . "\n";
      $message .= "LEDB700-QTY: " . $pro_LEDB700. "\n";
      $message .= "Amount-of-LECB800: " . $$Amount_of_LECB800 . "\n";
      $message .= "LECB800-QTY: " . $pro_LECB800 . "\n";
      $message .= "Amount-of-8089G: " . $$Amount_of_8089G . "\n";
      $message .= "8089G-QTY: " . $pro_8089G . "\n";
      $message .= "Amount-of-LE1911: " . $$Amount_of_LE1911 . "\n";
      $message .= "LE1911-QTY: " . $pro_LE1911 . "\n";
      $message .= "Amount-of-ME8342: " . $$Amount_of_ME8342 . "\n";
      $message .= "ME8342-QTY: " . $pro_ME8342 . "\n";
      $message .= "Amount-of-ME8440: " . $$Amount_of_ME8440. "\n";
      $message .= "ME8440-QTY: " . $pro_ME8440. "\n";
      $message .= "Amount-of-NV1455: " . $$Amount_of_NV1455 . "\n";
      $message .= "NV1455-QTY: " . $pro_NV1455 . "\n";
      $message .= "Amount-of-LESM200: " . $$Amount_of_LESM200 . "\n";
      $message .= "LESM200-QTY: " . $pro_LESM200 . "\n";
      $message .= "Amount-of-MAG-DOTZ: " . $$Amount_of_MAG_DOTZ . "\n";
      $message .= "MAG-DOTZ-QTY: " . $pro_MAG_DOTZ . "\n";
      $message .= "Amount-of-MLB-01: " . $$Amount_of_MLB_01 . "\n";
      $message .= "MLB-01-QTY: " . $pro_MLB_01 . "\n";
      $message .= "Amount-of-WW100: " . $$Amount_of_WW100 . "\n";
      $message .= "WW100-QTY: " . $pro_WW100 . "\n";
      $message .= "Amount-of-WW200: " . $$Amount_of_WW200 . "\n";
      $message .= "WW200-QTY: " . $pro_WW200 . "\n";
      $message .= "Amount-of-LEWS810-BLK: " . $$Amount_of_LEWS810_BLK . "\n";
      $message .= "LEWS810-BLK-QTY: " . $pro_LEWS810_BLK . "\n";
      $message .= "Amount-of-73421: " . $$Amount_of_73421 . "\n";
      $message .= "73421-QTY: " . $pro_73421 . "\n";
      $message .= "Amount-of-LPU900: " . $$Amount_of_LPU900 . "\n";
      $message .= "LPU900-QTY: " . $pro_LPU900 . "\n";
      $message .= "Amount-of-LEF10: " . $$Amount_of_LEF10 . "\n";
      $message .= "LEF10-QTY: " . $pro_LEF10 . "\n";
      
      $message .= "Amount-of-LEF1: " . $$Amount_of_LEF1 . "\n";
      $message .= "LEF1-QTY: " . $pro_LEF1 . "\n";
      
      $message .= "Amount-of-LEF855: " . $$Amount_of_LEF855 . "\n";
      $message .= "LEF855-QTY: " . $pro_LEF855 . "\n";
      

    
    
      //php mailer variables
      $to = get_option('admin_email');
      $subject = "Someone sent a order form from ".get_bloginfo('name');
      $headers = 'From: '. $email . "\r\n" .
        'Reply-To: ' . $email . "\r\n";
    
    
     
    
          //validate email
          //if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
           // my_contact_form_generate_response("error", $email_invalid);
        // } //email is valid
         //  else //ready to go!
          //  {
              $sent = wp_mail('shahid.wpexpert@gmail.com', $subject, strip_tags($message), $headers);
              if($sent) my_contact_form_generate_response("success", $message_sent); //message sent!
              else my_contact_form_generate_response("error", $message_unsent); //message wasn't sent
            }
            //else if ($_POST['submitted']) {my_contact_form_generate_response("error", $missing_content);
        // }
        
      
    
       // }
    
    
    ?>


<style type="text/css">
.error {
    padding: 5px 9px;
    border: 1px solid red;
    color: red;
    border-radius: 3px;
}

.success {
    padding: 5px 9px;
    border: 1px solid green;
    color: green;
    border-radius: 3px;
}

form span {
    color: red;
}
</style>
<div class="container">
<div id="respond">

    <?php echo $response; ?></div>
<div class="container">

    <form class="foxycart" action="<?php get_permalink(); ?>" method="post" id="foxycart-order-form">
        
<tr>
<td><input type="hidden" name="submitted" value="1">
<input type="submit" value="Submit Order" /></td>
</tr>

    </table>

 








    </div>

</div>







</form>
</div>



</div>

<?php get_footer(); ?>
Muhammad Shahid
  • 325
  • 1
  • 4
  • 12

1 Answers1

1

You can build up the message part by doing something like this:

<?php
if (isset($_POST['submit'])) {
  $name = $_POST['name'];
  $email = $_POST['email'];
  $msg = $_POST['message'];
  $zip = $_POST['zip-code'];
  $f_name = $_POST['-fname'];
  $f_email = $_POST['f-email'];
  $address = $_POST['address'];
  $number = $_POST['number'];

  // Do any validation checking here...

  // If everything is ok, build your message with whatever fields you want to include, e.g.
  $message .= "Message: " . $msg . "\n";
  $message .= "Name: " . $name . "\n";
  $message .= "Address: " . $address . "\n";
  $message .= "Zip Code: " . $zip . "\n";
  $message .= "Phone: " . $number . "\n";

  // set up your headers and anything else you need 

// send the email:
wp_mail($to, $name, $message, $headers, $attachments);
}

Don’t forget to do your validation, anti spam checking etc before you send the email!

FluffyKitten
  • 13,824
  • 10
  • 39
  • 52
  • When you say it’s “not working”, can you be more specific? E.g. is it giving an error, does $message have the wrong information? If it’s not sending, have you checked the headers and from email address? – FluffyKitten Jul 03 '20 at 23:17
  • I followed your instruction but i doesn't work. Actually concatenation is causing problem. If i eliminate the concatenation and work with only 3 fields then it works. – Muhammad Shahid Jul 04 '20 at 10:57
  • You have a syntax error in where you are concatenating the fields, e.g. : `$message .= "Amount-of-FC104: " . $$Amount_of_FC104 . "\n";` you are using `$$` for the variables instead of `$` – FluffyKitten Jul 04 '20 at 15:24
  • Hi, i sorted out it my self. Yes there was ($$) syntax error and also wrong use of fields. Now all is working here [link](https://leadingedgenovelty.com/order-form/) Thanks for your help. – Muhammad Shahid Jul 04 '20 at 21:24
  • Glad you got sorted. We can't be expected to know want your variables are for so we can only help we the specific errors you ask about :) If my answer helped, you might consider accepting /upvoting it so that other users with similar problems will know if might help them too. Accepting it will also mark it as resolved on the site and we both get rep points :) – FluffyKitten Jul 04 '20 at 23:22