2012-02-17 187 views
0

我在內聯網上有一個表格,當有人填寫表格時,它會發送一封內部電子郵件給某個部門。
我想獲得一個數組來填充主題行,但只是不知道如何。PHP:電子郵件主題

我填充陣列進入人體的正常工作方式如下:

<?php 
    # .. snip .. 
    $message = $message.'<tr> 
    <td colspan="4" valign="top" class="style7">&nbsp;</td> 
    </tr>';                              
    for($i = 0; $i < count($arrEncoding); $i++) { 
     $desc= $arrEncodingDesc[$i];  
     $value= $arrEncoding[$i];               
     if ($_POST[$arrEncoding[$i]]) {         
      $message = $message.'<tr><td colspan="4" valign="top" class="style4">'.$desc.'</td></tr>';        
     } 
    } 
    # .. snip .. 
?> 

我嘗試了許多方法及以下僅僅是我已經嘗試過的方法之一的一個例子:

$subject = $message.'Event Request Form:'.$arrEncoding[$i]; 

所以基本上我需要arrEncoding數組來填充主題字段。
任何幫助將不勝感激。我不知道我的問題是否足夠簡潔,我仍然是整個PHP世界的初學者。

+0

哪裏'$ arrEncoding'從何而來? – Alexander 2012-02-17 15:05:37

+0

它在頁面前面定義如下: ' $ arrEncoding = array(「BuiltIn」,「Hosted」,「SelfEncode」); $ arrEncodingDesc =陣列(」 內置:完全自動化,並通過該平臺可立即無需任何人工干預。‘’託管:編碼手動計劃,並通過我們的託管設施交付‘’自我編碼:您自己或通過第三方對流進行編碼,併爲我們提供分發訂閱源。「); ' – NewB 2012-02-17 15:07:09

+0

你也應該告訴我們你用來發送郵件的方式。簡而言之,發佈代碼的完整摘錄 – Alexander 2012-02-17 16:14:41

回答

1

作爲一個快速的答案,你可能想是這樣的:

<?php 
    $_POST = array('BuiltIn'=>1,'SelfEncode'=>1); #Sample data :-) 
    $arrEncoding = array("BuiltIn", "Hosted", "SelfEncode"); 

    $submitted_ids = array_filter($arrEncoding, function($id){ return isset($_POST[$id]); }); 
    $subject = "We got email about: " . implode(' ', $submitted_ids); 
    print $subject; 
?> 

請注意,這裏使用的anonnymous function語法需要PHP 5.3.0+