我有三个下拉列表 - 一组。
演示页面可以在这里检查:http://goo.gl/VqtTyM
- 第一个是"目的地"
- 第二个是针对选定的客人对"景点或"的兴趣"目的地"中的活动
- 第三个是"目的地"中的"可用景点/活动"
由以下代码创建:
<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>
在客人选择他们想要的选项并提交表格后,我应该按照以下顺序将这些选择发送到我的电子邮件中。
目的地(第一个下拉列表中的选定值):景点/活动(第二个下拉列表中的选定值):选定的可用景点/活动(第三个下拉列表中的选定值)
这组下拉列表可以通过单击添加更多(添加目标)按钮更动态地添加。所以现在我使用以下代码来获取我的电子邮件。
<?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);
}
?>
正如您在上面看到的,我仅使用"目的地"和"attraction_or_activity"数组。现在我的电子邮件正文如下所示:
1. 目的地 : 科伦坡, 景点/活动 : 景点
2. 目的地 : 科伦坡, 景点/活动 : 活动
3. 目的地 : 康提, 景点/活动 : 景点
姓名 : 客人姓名
邮箱 : guestEmail@gmail.com
国家 : 客人的国家
但是我期望如何收到电子邮件如下:
1. 目的地 : 科伦坡, 景点/活动 : 景点 所选景点/活动 : 恒河拉玛雅
2. 目的地 : 科伦坡, 景点/活动 : 活动 所选景点/活动 : 城市观光
3.目的地 : 康提, 景点/活动 : 景点 所选景点/活动 : 寺庙牙
姓名 : 客人姓名
邮箱 : guestEmail@gmail.com
国家 : 客人的国家
我必须如何修改我的代码才能按照上面的预期获取电子邮件?
如何将第三个下拉列表值包含在循环foreach
?
你只需要像attraction_or_activity
一样取attraction_or_activity_selected
的值。尝试将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 />';
}