【问题标题】:How to get a set of dropdown list values and email it using PHP?如何使用 PHP 获取一组下拉列表值并通过电子邮件发送?
【发布时间】:2016-04-27 06:45:17
【问题描述】:

我有三个下拉列表 - 一组。

演示页面可以在这里查看:http://goo.gl/VqtTyM

  1. 第一个是“目的地”
  2. 第二个是针对选择的客人感兴趣的“景点或 '目的地'中的活动'
  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>

在客人选择他们想要的选项并提交表单后,我应该按照以下顺序将这些选择发送到我的电子邮件中。

目的地(第一个下拉列表中的选择值):景点/活动(第二个下拉列表中的选择值):选择的可用景点/活动(第三个下拉列表中的选定值)

通过单击添加更多添加目的地)按钮,可以更动态地添加这组下拉列表。 所以现在我正在使用以下代码来获取我的电子邮件。

<?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);
}
?>

正如你在上面看到的,我只使用了“destination”和“attraction_or_activity”数组。 现在我的电子邮件正文如下所示:


1.目的地:科伦坡,景点/活动:景点

2。目的地:科伦坡,景点/活动:活动

3.目的地:康提,景点/活动:景点

姓名:客人姓名

电子邮件:guestEmail@gmail.com

国家:客人的国家


但我期望收到电子邮件的方式如下:

1.目的地:科伦坡,景点/活动:景点选定景点/活动:恒河罗摩亚

2。目的地:科伦坡,景点/活动:活动选定景点/活动:城市游览

3.目的地:康提,景点/活动:景点选定景点/活动:寺庙牙

姓名:客人姓名

电子邮件:guestEmail@gmail.com

国家:客人的国家


我必须如何修改我的代码才能如我预期的那样收到电子邮件?

如何将第三个下拉列表值包含到 foreach 循环中?

【问题讨论】:

    标签: php email multidimensional-array foreach


    【解决方案1】:

    您只需要像为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 />';
    
    }
    

    【讨论】:

    • 再次感谢@mestarted。你又救了我。
    猜你喜欢
    • 2014-03-22
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多