2017-09-02 117 views
0

我需要發送多個數據作爲數組並通過Ajax將輸入值形式發送到電子郵件。這段代碼有什麼問題?該陣列不回電子郵件,猜測什麼是錯的PHP文件 *** HTML:通過Ajax發送js多個數據到電子郵件

<form id="form-order"> 
    First name:<br> 
    <input type="text" name="firstname"> 
    <input type="tel" name="phonenumber"> 
    <input type="submit" value="Submit"> 
</form> 

*** JS:

$.ajax({ 
    type: "POST", 
    data: {mydata: JSON.stringify(MyObjects)}, 
    url: "index.php", 
    success: function(data){ 
    } 
}); 
    var array = [{count:1,image:"images/1.jpg",name:"Bouquet 1",price:49},{count:5,image:"images/1.jpg",name:"Bouquet 9",price:77}]; 
      $("#form-order").submit(function() { 

         var order_data = cart; 
         $.ajax({ 
         type: "POST", 
         url: "../order.php", 
         data: {form: form_data, 
         order:JSON.stringify(order_data)}, 
         success: function() {       
         console.log('OK'); 
         }); 
       }); 

*** PHP:

$to = "[email protected]"; 
$message = ' 
     <html> 
      <head> 
      </head> 
      <body> 
       <p>Name: '.$_POST['first name'].'</p> 
       <p>Phone: '.$_POST['phone number'].'</p> 
       $someArray; 
       $extradata = json_decode($_POST['order'], true); 
       foreach ($extradata as $key => $value) { 
       $someArray .= "<p>".$value["image"] . ", " . 
       $value["name"] . "</p>"; 
       </body> 
     </html>'; 
+0

你必須解碼字符串化的內容,因爲其他明智的你將無法迭代通過你發送到你的PHP腳本的數組。 看看json_decode()函數從PHP,你會知道,你必須做什麼。 – rebru

+0

也顯示你的其他表格。 –

+0

@rebru你可以看看,我已經添加了json_decode()到php。現在是否正確?謝謝 –

回答

0

對於您的PHP代碼段,您應該更好地截斷這些部分,以便更好地支持編輯並更輕鬆地閱讀它,例如....請注意,這只是一個方向,它不是工作解決方案。

/* Defintions */ 
$to = "[email protected]"; 
$extradata = json_decode($_POST['order'],true); 

/* HTML Structure */ 
$head = " 
     <html> 
      <head> 
      </head> 
      <body> 
"; 
$footer = " 
      </body> 
     </html>'; 
"; 

/* Content */ 
$content = ""; 
$content .= "<p>Name:".$_POST['first name']."</p>"; 
$content .= "<p>Name:".$_POST['phone number']."</p>"; 
foreach($extradata as $key => $value) 
{ 
    $content .= "<p>".$key."=".$value['image']."</p>"; 
} 

$htmlEmail = $head.$content.$footer; 
+0

非常感謝! –