Как получить набор значений выпадающего списка и отправить его по электронной почте с помощью PHP?

У меня есть три раскрывающихся списка – набор.

Демо-страница может быть проверена здесь: http://goo.gl/VqtTyM

  1. 1-й для «назначения»
  2. 2-й – для избранных интересов гостей в том, что «Притяжение или активность» в «пункте назначения»
  3. 3-е место для «доступного привлечения / активности» в «пункте назначения»

созданный по следующему коду:

<div class="multi-field"> <select class="text-one" name="destination[]"> <option selected value="base">Please Select</option> <option value="colombo">Colombo</option> <option value="kandy">Kandy</option> <option value="anuradhapura">Anuradhapura</option> </select> <br /> <select class="text-two" name="attraction_or_activity[]"> <option value="attraction_or_activity">Select the attractions or activities</option> <option value="attraction">Attraction</option> <option value="activity">Activity</option> </select> <select class="populated_attr_or_activity" name="attraction_or_activity_selected[]"> <option value="available_attr_act">Available attractions / activities</option> <!-- Here, available options will be populated --> </select> </div> 

После того, как гость выбрал вариант по своему желанию и отправит форму, я должен получить эти варианты в своем сообщении электронной почты, как указано в следующем порядке.

destination (выбранное значение в первом раскрывающемся списке): Attraction / Activity (выбранное значение во втором выпадающем списке): выбранный доступный атрибут / активность (выбранное значение в третьем выпадающем списке)

Этот набор раскрывающегося списка можно добавить более динамично, нажав кнопку « Добавить больше»Добавить место назначения» ). Поэтому на данный момент я использую следующий код для получения моей электронной почты.

 <?php if(empty($errors)){ // if the errors array is empty then send the mail $headers = 'MIME-Version: 1.0' . "\r\n"; // adding support for HTML type email $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // adding support for HTML type email //print $tourist_name; $msg = ''; $i = 1; foreach ($_POST['destination'] as $key => $val) { $msg .= ' <strong>' . $i++ . '. Destination : </strong>' . $val . ', <strong>Attraction/Activty : </strong>' . $_POST['attraction_or_activity'][$key] . '<br />'; }; $msg .= 'Name : ' .$tourist_name.'<br/>'; $msg .= 'E-mail : ' . $tourist_email.'<br/>'; $msg .= 'Country : ' .$tourist_country.'<br/>'; mail("myemail@gmail.com","Custom Tour Package",$msg, $headers); } ?> 

Как вы видите выше, я использую только массив назначения и array_or_activity. теперь мой почтовый ящик выглядит так:


1. Пункт назначения: colombo, Привлечение / Деятельность: привлечение

2. Назначение: colombo, Attraction / Activity: activity

3. Пункт назначения: kandy, Привлечение / Деятельность: привлечение

Имя: имя гостя

E-mail: guestEmail@gmail.com

Страна: гостевая страна


Но как я ожидаю получить электронное письмо, как показано ниже:

1. Пункт назначения: colombo, Привлечение / Деятельность: привлечение Выбранная достопримечательность / деятельность: Ganga Ramaya

2. Пункт назначения: colombo, Привлечение / Деятельность: деятельность Выбранная достопримечательность / деятельность: обзорная экскурсия по городу

3. Пункт назначения: kandy, Привлечение / Деятельность: привлечение Выбранная достопримечательность / деятельность: Храм Зуба

Имя: имя гостя

E-mail: guestEmail@gmail.com

Страна: гостевая страна


как мне нужно изменить свой код, чтобы получить электронную почту, как я ожидал выше?

как включить третье значение списка выпадающих списков в цикл foreach ?

Вам просто нужно принимать значения attraction_or_activity_selected как вы делали для attraction_or_activity . Попробуйте изменить код внутри foreach :

 foreach ($_POST['destination'] as $key => $val) { $msg .= ' <strong>' . $i++ . '. Destination : </strong>' . $val . ', <strong>Attraction/Activty : </strong>' . $_POST['attraction_or_activity'][$key] . ', <strong>Selected attraction/activity : </strong>' . $_POST['attraction_or_activity_selected'][$key] . '<br />'; }