0

理解が難しい。私はこのようなhtmlにいくつかのチェックボックスを持っています:

<input type="checkbox" name="a[]" value="1">
<input type="checkbox" name="a[]" value="2">
<input type="checkbox" name="a[]" value="3">

a []の複数の選択肢を評価して、何が選択されたかを確認するのが好きです。そのため、配列を使用する必要があります。

さて、今問題は次のとおりです。送信後、私はその配列を投稿しました。

if (isset($_POST['submit'])) {

    $a = $_POST['a'];
}

さらに、選択した値ごとに別の配列にメッセージを設定するのが好きです。

if ($a === '1'){
   $msg[] = "text1";
}
if ($a === '2'){
   $msg[] = "text2";
} and so on...

今、私はこれらのメッセージを配列に保存しました$msg[]

次のステップとここに私の本当の問題があります:

送信されるメールに選択内容全体を表示するのが好きです。その時点まで私は持っています:

$to = "a@b.cd";
$subject = "some text";
$message = "some text... 

show what was selected:

$msg

end text";...

通常、私はforeachを次のように使用する必要があることを知っています。

<?php if(isset($msg)):?>
    <?php foreach($msg as $m):?> 
        <p>
        <?php echo $m;?>
        </p>
    <?php endforeach;?>
<?php endif;?>

見えるようにします。私の問題は、これをメールからその引用符へのメッセージに実装することです。

ですから、私を助けてくれる人がいたら、本当にありがたいです。

どうもありがとう。

4

2 に答える 2

1

文字列の連結を使用するだけです。これは、PHPでは。を使用して行われます。(ドット)演算子。

$message = "some text... \n\nshow what was selected:\n\n";

foreach ($a as $b)
{
    $message .= $b . "\n";
}

$message .= "end text";

さらに、変数の名前を調べる必要があり($ aは実際には説明的ではありません)、$ aは配列であるため、実行できません。if ($a === '1')を使用する必要がありますin_array()

于 2012-04-20T13:27:25.143 に答える
0

やったほうがいい

$msg = array();
foreach($a as $checked){
    $msg[$a] = "text$a";
}

その後

<?php if(isset($msg)):?>
    <?php foreach($msg as $k => $m):?> 
        <p>
        <?php echo "$k : $m";>
        </p>
    <?php endforeach;?>
<?php endif;?>
于 2012-04-20T13:28:00.603 に答える