2013-08-17 24 views
0

我需要發送用戶報告給管理員的電子郵件,在這裏我面臨的問題只有一行數據發送保持數據不發送。如果我提交2行數據只有一行去電子郵件。如果我只發送一行,它工作正常。任何人都可以告訴我如何將兩行數據發送到單個電子郵件。perl郵件功能html電子郵件不發送多個陣列數據

<form> 
<div>S.No <input type="text" name="sno[]" /></div> 
<div>Work Report <input type="text" name="report[]" /></div> 
<div>Status <input type="text" name="status[]" /></div> 
-------------------------------------------------------- 
<div>S.No <input type="text" name="sno[]" /></div> 
<div>Work Report <input type="text" name="report[]" /></div> 
<div>Status <input type="text" name="status[]" /></div> 
<input type="submit" name="Submit" /> 
</form> 

代碼是

<?php 
$sno = $_POST['sno']; 
$report = $_POST['report']; 
$status = $_POST['status']; 
foreach($sno as $v => $i) 
{ 
$sno[$v]; 
$report[$v]; 
$status[$v]; 
$html = " 
<html> 
<head> 
<style> 
table.fancy_table tbody td    
{ 
font-family:'Calibri'; 
font-size:15px; line-height:18px; color:#333; background-color:#fff; 
word-wrap: break-word; 
} 
table.fancy_table  {border: 0px solid #dddddd; } 
table.fancy_table th {border: 0px solid #dddddd; padding:4px; color:#993300; text-transform:uppercase; background-color:#FFFFFF; } 
table.fancy_table td {border: 1px solid #dddddd; background:#ffffff; padding:4px; text-align:left; , height:30px; } 
table.fancy_table tbody td { background:#FFFFFF;}   
table.fancy_table {border-collapse: collapse; border-spacing: 0; width:450px; margin:0 auto; margin-bottom:15px; } 
</style>  

</head> 
<body> 
<table class='fancy_table'> 
<tr> 
<td span style='color:#993300'><strong>S.NO</span></td> 
<td span style='color:#993300'><strong>Report</span></strong></td> 
<td span style='color:#993300'><strong>STATUS</span></strong></td> 
</tr> 
<tr> 
<td width='50'>$sno[$v]</td> 
<td width='150'>$report[$v]</td> 
<td width='130'>$status[$v]</td> 
</tr> 
</table> 
</body> 
</html> 
"; 
}//endforeach 

$crlf = "\n"; 
$mime = new Mail_mime; 
$mime->setHTMLBody($html); 
$body = $mime->get(); 
$headers = $mime->headers($headers); 
$mail = $smtp->send($recipients, $headers, $body); 


$errmsg_arr[] = 'Mail Successfully Sent'; 
$errflag = true; 
} 
else 
{ 
$errmsg_arr[] = 'Mail Not Sent'; 
$errflag = true; 
} 




?> 

回答

0

把數據放到foreach循環:

<?php 
$sno = $_POST['sno']; 
$report = $_POST['report']; 
$status = $_POST['status']; 

$html = " 
<html> 
<head> 
<style> 
table.fancy_table tbody td    
{ 
font-family:'Calibri'; 
font-size:15px; line-height:18px; color:#333; background-color:#fff; 
word-wrap: break-word; 
} 
table.fancy_table  {border: 0px solid #dddddd; } 
table.fancy_table th {border: 0px solid #dddddd; padding:4px; color:#993300; text-transform:uppercase; background-color:#FFFFFF; } 
table.fancy_table td {border: 1px solid #dddddd; background:#ffffff; padding:4px; text-align:left; , height:30px; } 
table.fancy_table tbody td { background:#FFFFFF;}   
table.fancy_table {border-collapse: collapse; border-spacing: 0; width:450px; margin:0 auto; margin-bottom:15px; } 
</style>  

</head> 
<body> 
<table class='fancy_table'> 
<tr> 
<td span style='color:#993300'><strong>S.NO</span></td> 
<td span style='color:#993300'><strong>Report</span></strong></td> 
<td span style='color:#993300'><strong>STATUS</span></strong></td> 
</tr>"; 
foreach($sno as $v => $i) 
{ 
$sno[$v]; 
$report[$v]; 
$status[$v]; 
$html.="<tr><td width='50'>$sno[$v]</td><td width='150'>$report[$v]</td><td width='130'>$status[$v]</td></tr>"; 
}//endforeach 
$html.="</table></body></html>"; 


$crlf = "\n"; 
$mime = new Mail_mime; 
$mime->setHTMLBody($html); 
$body = $mime->get(); 
$headers = $mime->headers($headers); 
$mail = $smtp->send($recipients, $headers, $body); 


$errmsg_arr[] = 'Mail Successfully Sent'; 
$errflag = true; 
} 


?> 

與此一更換您的全部代碼。 Ahmar。

+0

嗨阿里,它爲每一行數據分別發送兩封電子郵件。我需要將用戶提交的所有數據發送到一封電子郵件中。 –

+0

@BolemVeeru每個用戶只有一個序列號? Loop從陣列獲取每個sno併發送電子郵件。這是發送一封電子郵件不是兩個 –

+0

@BolemVeeru我現在明白這個問題。我改變我的代碼給我片刻 –

相關問題