-1

PHPメーラーを使用して、ユーザーから送信された情報を収集しています。一部の入力フィールドはオプションです。つまり、一部のデータ フィールドは空になります。メーラー内で空の行を印刷または送信したくないので、文字列が空かどうかをテストしたいと思います。空の場合はスキップしたい。

たとえば、以下のサンプルでは、​​最初の 内のテーブルで情報が収集されるので、$choice1Field をテストして空かどうかを確認し、空である場合はスキップし、$qty1Field もスキップします。つまり、セクション全体をスキップします。

達成しようとしていることをコーディングするための適切な構文がわかりません。

どんな助けでも大歓迎です。ありがとうございました。

明細書

<?php
$choice1Field = $_POST['choice1'];
$qty1Field = $_POST['qty1'];
$choice2Field = $_POST['choice2'];
$qty2Field = $_POST['qty2'];
$choice3Field = $_POST['choice3'];
$qty3Field = $_POST['qty3'];

$body = <<<EOD
<table width="50%" border="0" cellspacing="10" cellpadding="0">

<tr bgcolor="#F6EFBA">
<td width="80%" align="left">$choice1Field</td>
<td>$qty1Field</td>
</tr>

<tr bgcolor="#E8E8FF">
<td width="80%" align="left">$choice2Field</td>
<td>$qty2Field</td>
</tr>

<tr bgcolor="#F6EFBA">
<td width="80%" align="left">$choice3Field</td>
<td>$qty3Field</td>
</tr>

Etc., etc., etc.
</table>
EOD;

$headers = "From: $emailField" . "\r\n"; 
$headers .= "Content-type: text/html" . "\r\n"; 
$success = mail($mailto, $emailSubject, $body, $headers); 
?>
4

2 に答える 2

0

isset() 関数を使用できます: http://php.net/manual/en/function.isset.php

例:

if(isset($_POST['choice1']) {
   //do something with it.
}
于 2013-06-21T19:42:16.453 に答える
0

空の可能性がある各フィールドについて、次のようなことを試してください。

if (!empty($choice1Field) && !empty($qty1Field)) {
    $body .= <<< EOD
<tr bgcolor="#F6EFBA">
<td width="80%" align="left">$choice1Field</td>
<td>$qty1Field</td>
</tr>

EOD;
}
于 2013-06-21T19:42:43.483 に答える