По электронной почте результаты серии флажков из контактной формы - PullRequest
0 голосов
/ 05 апреля 2011

Я занимаюсь этим уже несколько дней - конечно, это не должно быть так сложно!

Я создаю сценарий для отправки деталей формы на мой адрес электронной почты после отправки формы.До сих пор это никогда не было проблемой, так как раньше мне никогда не приходилось использовать флажки в форме.Извините за любую изворотливую терминологию, так как я все еще пытаюсь изучить основы php!

Мне удалось получить массив для вывода в виде эха на странице «Спасибо за заполнение формы», гдеСкрипт php хранится (я не хочу его там, но, по крайней мере, я знаю, что я на правильном пути!), но мне действительно нужно, чтобы различные поля, отмеченные в форме, были отправлены на мою электронную почту.

пример html из формы:

<input type="checkbox" name="features_wanted[]" id="about_me" value="about_me" />
<input type="checkbox" name="features_wanted[]" id="showcase" value="showcase" />
<input type="checkbox" name="features_wanted[]" id="resource" value="resource" />

Пример php-эха, который работает нормально:

$features_wanted = $_POST['features_wanted'] ;
foreach($features_wanted as $feature) echo "$feature<br />";

Куда мне идти сейчас ?!Я построил свое сообщение, и оно получено нормально.Вот пример некоторых сценариев.Переменные извлекаются и работают нормально для всех битов строки:

$message = 
"name: $first_name $surname\n" .
"email_address: $email_address\n" .
"mobile number: $mobile\n" .
"address:\t $address1\n" .
"\t\t $address2\n" .
"\t\t $city\n" .
"\t\t $postcode\n" ;

Письмо отправляется следующим образом, и также отлично работает:

$sent = mail($to, $subject, $message, 'From:' . $email_address) ;

Так что яхотите обработать foreach (или что-то еще, что выполнит работу, может быть?) в строку сообщения $.Это обычный текст, а не HTML, поэтому эхо не подходит, я не думаю.

Разве это не должно быть чем-то действительно легким, так как многие формы должны включать флажки с множественным выбором?В интернете есть удивительно мало полезной информации, которую я могу найти, и я искал с пятницы!

Я надеюсь, что все имеет смысл ...!

Заранее спасибо за любую помощькто-нибудь может предоставить,

Мартин.

1 Ответ

0 голосов
/ 05 апреля 2011

Вот как я бы с этим справился:

$message .= "Features Wanted: \n";
foreach($_POST['features_wanted'] as $value){
    $message .= $value . "\n";
}

Хотя использование implode() также будет вариантом

$message .= implode(" ", $_POST['features_wanted']);

Я не уверен, что на самом деле будет быстрее, хотя.

...