【问题标题】:Email Form to specific email addresses based on values selected in MultiSelect Box根据在多选框中选择的值将表单发送到特定的电子邮件地址
【发布时间】:2012-02-25 03:48:22
【问题描述】:

我创建了一个 HTML 联系表单,它连接到 MySQL 数据库以将一些选项填充到多选字段中。

我现在需要根据在 MultiSelect 字段中选择的值向特定人员发送电子邮件。但我不知道如何根据选择来定义电子邮件地址。

这是我用来填充多选字段的代码。

$sql="SELECT addr1, city, status FROM listings WHERE status<>'Hidden' ";
$result=mysql_query($sql) or die(mysql_error());
$options=""; 

 while ($row=mysql_fetch_array($result)) { 

     $addr1=$row["addr1"]; 
     $city=$row["city"];
     $status=$row["status"];
     $options.="<OPTION VALUE=\"$addr1\">".$addr1 . ', ' . $city . ' - ' . $status; 
 }

<select multiple name="unit" id="unit" size="10" validate="required:true, rangelength:[1,5]">
    <?=$options ?> 
</select>

我的数据库结构如下所示

addr1        city        status        manager
address      somecity    available     John Citizen
addresstwo   city2       not available Jack Citizen
addressthree city3       available     Jill Citizen

因此,当有人选择 John Citizen 和 Jill Citizen 时,电子邮件应该发送给这两个人。 我还需要通过 PHP 变量为这两个人声明电子邮件地址。 表格将与此代码一起发送。 (此代码位于表单操作调用的不同 PHP 文件中)

mail($emailaddresses,$subject,$html,"From: info@#####\r\nContent-type: text/html\r\n");

}

有人能给我一些建议吗?我尝试了很多方法,但无法使选择正常工作。

【问题讨论】:

    标签: php mysql html forms email


    【解决方案1】:

    为您的多选表单字段指定一个以 [] 结尾的名称(例如 name="unit[]")。在 PHP 中,当您提交表单时,该表单将生成一个数组,该数组将填充所选项目 ($_POST("unit"))。然后,您可以 implode() 数组,用逗号(或分号 - 我不记得在 php mail() 函数中哪个分隔电子邮件)分隔电子邮件地址。然后在你的 mail() 调用中删除这个地址字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-29
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      相关资源
      最近更新 更多