2016-07-31 178 views
0

我目前正在爲我的工作地點製作材料訂單以節省資金。到目前爲止,我有大約90%的不同部分在工作,我希望他們如何工作。我對每個方面的編碼都很陌生,所以我很抱歉如果這是一些超級基本概念。我一直在尋找網絡尋找解決方案,但每次遇到像「使用這個JS腳本」這樣有用的東西時,我會遇到類似這樣的情況,「永遠不要使用JS腳本」。如何從HTML電子郵件中刪除表格行(如果表格字段留空)

所以,這裏的問題:我該如何刪除已經留空的表單字段的html電子郵件中的相應表格行?

我在另一個問題中遇到了類似的問題:PHP: Do not email form fields that are left blank,但沒有什麼幫助,因爲我的電子郵件是一個表格,我不想留空的表格行來代替空字段。

這是HTML我有以下形式:

<form action ="testemail.php" method="post"> 
<label>Tube</label> 
    <table> 
     <tr> 
      <th>Type</th> 
      <th>Qty</th> 
     </tr> 
       <td> 
        <select name="tube"> 
         <option value=""></option> 
         <option value="Steel">Steel</option> 
         <option value="Aluminum">Aluminum</option> 
        </select> 
       </td> 
       <td> 
        <input type="number" name ="tubeqty"> 
       </td> 
    </table> 
<br> 
<br> 
<label>Brace</label> 
    <table> 
     <tr> 
      <th>Type</th> 
      <th>Qty</th> 
     </tr> 
       <td> 
        <select name="brace"> 
         <option value=""></option> 
         <option value="Steel">Steel</option> 
         <option value="Aluminum">Aluminum</option> 
        </select> 
       </td> 
       <td> 
        <input type="number" name ="braceqty"> 
       </td> 
    </table> 
<br> 
<br> 
<hr> 
<h2>Submit Form</h2> 
     <br> 
     <h3>If you are sure that everything is filled out correctly, then hit "Submit".</h3> 
      <input type="submit" value="Submit">  

的PHP是這樣的:

<?php 
$to = "[email protected]"; 

$tube = $_POST['tube']; 
$tubeqty = $_POST['tubeqty']; 
$brace = $_POST['brace']; 
$braceqty = $_POST['braceqty']; 

$message = <<<EMAIL 

<html> 
<body> 
<table width="600" cellpadding="0" cellspacing="0" align="left"> 
<tr> 
<td width="143"> 
<h2>Item</h2> 
</td> 
<td width="10">&nbsp;</td> 
<td width="143"> 
<h2>Type</h2> 
</td> 
<td width="10">&nbsp;</td> 
<td width="143"> 
<h2>Qty</h2> 
</td> 
</tr> 
</table> 
<br> 
<table rules="all" cellpadding="0" cellspacing="0" align="left" style= "border: solid black 1px;" "border-collapse:collapse;"> 
<tr><td width="143"Tube</td><td width="143">$tube</td><td width="143"></td><td width="143">$tubeqty</td></tr> 
<tr><td width="143">Brace</td><td width="143">$brace</td><td width="143"></td><td width="143">$braceqty</td></tr> 
</table> 
</body> 
</html> 

EMAIL; 

$subject = "New Order Form"; 

$headers = "MIME-Version: 1.0\r\nContent-Type: text/html; charset=ISO-8859-l\r\n"; 

mail($to, $subject, $message, $headers); 
?> 
<!DOCTYPE html> 
<body> 
<h1>Thanks for submitting. We will get on that order ASAP!</h1> 
</body> 
</html> 

這是不是我可以用PHP函數嗎?我是否需要改變一下HTML來添加類型或更好name="" s?任何幫助將非常感激,即使只是我應該谷歌搜索的條款。

在此先感謝。

回答

0

看起來你只是想檢查每個提交的表單變量是否爲empty(),如果不是,則將表格行添加到電子郵件消息字符串中。你可以做一個簡單的改變你的代碼是這樣的:

$message = <<<EMAIL 
<html> 
<body> 
<table width="600" cellpadding="0" cellspacing="0" align="left"> 
<tr> 
<td width="143"> 
<h2>Item</h2> 
</td> 
<td width="10">&nbsp;</td> 
<td width="143"> 
<h2>Type</h2> 
</td> 
<td width="10">&nbsp;</td> 
<td width="143"> 
<h2>Qty</h2> 
</td> 
</tr> 
</table> 
<br> 
<table rules="all" cellpadding="0" cellspacing="0" align="left" style= "border: solid black 1px;" "border-collapse:collapse;"> 
EMAIL; 

if (!empty($tube)) { 
    $message .= "<tr><td width='143'>Tube</td><td width='143'>$tube</td><td width='143'></td><td width='143'>$tubeqty</td></tr>"; 
} 
if (!empty($brace)) { 
    $message .= "<tr><td width='143'>Brace</td><td width='143'>$brace</td><td width='143'></td><td width='143'>$braceqty</td></tr>"; 
} 

$message .= "</table> 
</body> 
</html>"; 

可以額外表單字段添加更多if (!empty($var)) { }檢查。

+0

太棒了,這是完美的。感謝您的幫助! – W0V3N