私は最近PHP電子メールフォームを作成しており、チェックボックスの値を正しく送信できません。フォームは私が他の場所で見つけたものであり、変更されています。 HTMLはかなり簡単です。今、私はそれは単純にどちらかの選択された単一の値を返す、または複数が選択されている場合は、「配列」とは言うPHPを通してそれを送信したときのようPOSTを使用してメッセージにチェックボックスの値を配置するにはどうすればよいですか?
<label for="needs">I am looking for...</label>
<input name="needs[]" id="needs" type="checkbox" value="product list">A Product List<br>
<input name="needs[]" id="needs" type="checkbox" value="educational support">Educational Support<br>
<input name="needs[]" id="needs" type="checkbox" value="catering options">Catering Options<br>
<input name="needs[]" id="needs" type="checkbox" value="party ideas">Party Ideas<br>
<input name="needs[]" id="needs" type="checkbox" value="healthy alternatives">Healthy Alternatives<br>
<input name="needs[]" id="needs" type="checkbox" value="other">Other (please specify)<br>
。私が望むのは、選択された値をリストするために私に送られるメールのメッセージです。私は他の場所で検索しましたが、私と同じ状況はまだ見つかりませんでした。ここにPHPがあります:
<?php
$msg=
'Name: '.$_POST['name'].'<br />
Category: '.$_POST['category'].'<br />
Email: '.$_POST['email'].'<br />
Phone: '.$_POST['telephone'].'<br />
Looking for: '.$_POST['needs'].'<br />
IP: '.$_SERVER['REMOTE_ADDR'].'<br /><br />
Message:<br /><br />
'.nl2br($_POST['message']).'
';
?>
残りのコードはセットアップとメッセージの送信です。私が望むことをするための他の方法はあるが、ここに含まれている$ msgを使い続けたいと思う。
ご協力いただきありがとうございます。
修正コード:それは本当に配列なので
$msg=
'Name: '.$_POST['name'].'<br />
Category: '.$_POST['category'].'<br />
Email: '.$_POST['email'].'<br />
Phone: '.$_POST['telephone'].'<br />
Looking for: '.(is_array($_POST['needs'])?implode("\n", $_POST['needs']):$_POST['needs']).'<br />
IP: '.$_SERVER['REMOTE_ADDR'].'<br /><br />
Message:<br /><br />
'.nl2br($_POST['message']).'
';
HTMLを改善するには、入力タグからid = "needs"属性も削除する必要があります。 idの値は一意である必要があります –
名前が同義語 –