2016-07-31 6 views
0

私は現在、お金を節約するために働いている場所のマテリアルオーダーフォームを作成しています。これまでのところ、私は彼らの仕事をどのようにしたいと思っていますか?私はあらゆる面でコーディングするのが新しいので、これがいくつかの超基本的なコンセプトである場合は謝罪します。私はこれを解決するために何日もウェブを検索してきましたが、「この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=""?どんな助けも非常に高く評価されるだろう。

ありがとうございます。

答えて

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

関連する問題