0

複数の選択にチェックボックスを使用するフォームの結果を取得しようとしています。他のいくつかの質問で説明したように配列を使用しましたが、変数の結果を電子メールで送信すると、最後に選択した結果しか表示されません。変数を表示するための間違ったコードがあると確信しています。

コードビュー:

$assembly = $_POST['assembly'];
$pump = $_POST['pump'];
$exchanger = $_POST['exchanger'];
**if(!empty($_POST['options'])) {
foreach($_POST['options'] as $options) {
        echo $options; 
}
}**

$name = $_POST['name'];
$email = $_POST['email'];
$info = $_POST['info'];

$body = <<<EOD
<br><hr><br>
Assembly: $assembly <br>
Pump: $pump <br>
Heat Exchanger: $exchanger <br>
**Unit Options: $options <br>**
Email: $email <br>
Name: $name <br>
Info: $info <br>
4

4 に答える 4

1

の使用をお勧めしますimplode。数行のコードを節約でき、foreachほどストレスがかかりません。

$options = implode(", ", $_POST['options']);
Unit Options: $options <br>
于 2012-08-08T15:18:47.963 に答える
0
**if(!empty($_POST['options'])) {
foreach($_POST['options'] as $options) {
        echo $options; 
}
}**

ここには実際には何も割り当てておらず$options、印刷するだけです。ループで設定している変数はその値を保持しているため、最後のオプションが電子メールに表示されます。

試す:

$myOptions = "";

if(!empty($_POST['options'])) {
    foreach($_POST['options'] as $options) {
        $myOptions .= $options; 
    }
}

その後:

Unit Options: $myOptions <br>
于 2012-08-08T14:47:59.650 に答える
0

コードの代わりにこれを試してください。

$assembly = $_POST['assembly'];
$pump = $_POST['pump'];
$exchanger = $_POST['exchanger'];

$opt = "";
if(!empty($_POST['options'])) {
    foreach($_POST['options'] as $options) {
        $opt .= $options.",";
    }
    $opt = rtrim($opt, ","); //comma-separated checkbox values
}

$name = $_POST['name'];
$email = $_POST['email'];
$info = $_POST['info'];

$body = <<<EOD
<br><hr><br>
Assembly: $assembly <br>
Pump: $pump <br>
Heat Exchanger: $exchanger <br>
Unit Options: $opt <br>
Email: $email <br>
Name: $name <br>
Info: $info <br>
于 2012-08-08T14:50:16.203 に答える
0

あなたが使用することができます

$option=''; 

   if(!empty($_POST['options'])) {
            $option = implode(',', $_POST['options']);
    }

これを試して

$assembly = $_POST['assembly'];
$pump = $_POST['pump'];
$exchanger = $_POST['exchanger'];
$option = "";
if(!empty($_POST['options'])) {
    $option = implode(',', $_POST['options']);
}
$name = $_POST['name'];
$email = $_POST['email'];
$info = $_POST['info'];

$body = <<<EOD
<br><hr><br>
Assembly: $assembly <br>
Pump: $pump <br>
Heat Exchanger: $exchanger <br>
Unit Options: $option <br>
Email: $email <br>
Name: $name <br>
Info: $info <br>
于 2012-08-08T14:55:04.437 に答える