Я недавно работал над созданием формы электронной почты PHP и не могу правильно отправить значения флажков. Форма, которую я нашел в другом месте и которую я модифицировал. HTML-код довольно прост.
<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']).'
';