我一直致力於最近創建一個PHP電子郵件表單,並且無法正確發送複選框值。該表格是我在其他地方找到的並且一直在修改的表單。 HTML相當簡單。如何使用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:
<?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值應該是唯一的 –
同上名稱 –