将电子邮件地址添加到php$email\u变量

将电子邮件地址添加到php$email\u变量,php,forms,email,Php,Forms,Email,我有一个表单,它有一个简单的复选框列表。我需要通过电子邮件将表格发送给所有基于已选中框的人。下面是基本的逻辑位,我意识到代码太离谱了 $email_to = 'david@gmail.com,'.' if ($_POST['services'] == 'Electrical'){ echo ",roger@gmail.com"; } if ($_POST['services'] == 'Plumbing'){ echo ",bill@g

我有一个表单,它有一个简单的复选框列表。我需要通过电子邮件将表格发送给所有基于已选中框的人。下面是基本的逻辑位,我意识到代码太离谱了

$email_to = 'david@gmail.com,'.'

    if ($_POST['services'] == 'Electrical'){
        echo ",roger@gmail.com";
    }

    if ($_POST['services'] == 'Plumbing'){
        echo ",bill@gmail.com";
    }

    if ($_POST['services'] == 'Painting'){
        echo ",donnie@gmail.com";
    }
.';
因此,如果“服务”复选框包括“电气”,则电子邮件变量将包括
$email\u to=”david@gmail.com,roger@gmail.com“

如果“服务”复选框包括电气和管道,则电子邮件变量将包括
$email\u to=david@gmail.com, roger@gmail.com, bill@gmail.com“

任何帮助都将不胜感激

下面是我在收到您的建议后尝试实现的实际代码,但仍然不起作用,我尝试了所有三个建议

<?php
error_reporting(-1);
ini_set('display_errors', 'On');
if(isset($_POST['email'])) {

$email_from = $_POST["email"];
$email_to = 'nettemple@gmail.com,{$email_from}';
    if($_POST['services'] == "Ecomtek"){ 
        $email_to .= ",sol@sungazer.com"; 
        }
    if($_POST['services'] == "E-Payroll"){ 
        $email_to .= ",sarah@nettemple.net"; 
        }
    if($_POST['services'] == "Humana"){ 
        $email_to .= ",dmeyers@scad.edu";
        }

$email_subject = "WEB INQUIRY";
$email_message = "Form details below.\n\n";

function clean_string($string) {
  $bad = array("content-type","bcc:","to:","cc:","href");
  return str_replace($bad,"",$string);
}

// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($email_to, $email_subject, $email_message, $headers); 

?>

这是表格

<form name="htmlform" method="post" action="form_process2.php">

<input type="checkbox" name="services[]" value="Ecomtek" />&nbsp;Ecomtek<br />
<input type="checkbox" name="services[]" value="E-Payroll" />&nbsp;E-Payroll<br />
<input type="checkbox" name="services[]" value="Humana" />&nbsp;Humana<br />
<input type="checkbox" name="services[]" value="John Conti" />&nbsp;John Conti<br />
<input type="checkbox" name="services[]" value="Kentucky RX Card" />&nbsp;Kentucky RX Card<br />
<input type="checkbox" name="services[]" value="Lifelock" />&nbsp;Lifelock<br />
<input type="checkbox" name="services[]" value="Logans" />&nbsp;Logan's<br />
<input type="checkbox" name="services[]" value="Norton Healthcare" />&nbsp;Norton Healthcare<br />
<input type="checkbox" name="services[]" value="Office Depot" />&nbsp;Office Depot<br />
<input type="checkbox" name="services[]" value="ProWaste" />&nbsp;ProWaste<br />
<input type="checkbox" name="services[]" value="Thorntons" />&nbsp;Thorntons<br />


  <label for="firstname">*FirstName</label>
  <input  type="text" name="firstname" maxlength="150" size="50" class="formbox">

  <label for="lastname">*Last Name</label>
  <input  type="text" name="lastname" maxlength="150" size="50" class="formbox">

  <label for="company">*Company</label>
  <input  type="text" name="company" maxlength="150" size="50" class="form box">

  <label for="email">*Email Address</label>
  <input  type="text" name="email" maxlength="180" size="50" class="form box">

</form>

Ecomtek
电子工资单
Humana
约翰·康蒂
肯塔基RX卡
生命线
洛根的
诺顿医疗保健公司
办公仓库
前废物
桑顿
*名字 *姓 *公司 *电子邮件地址
$\u POST['services']是一个数组,因此:

$email_to = 'david@gmail.com';

    if (in_array('Electrical',$_POST['services'])){
        $email_to .= ",roger@gmail.com";
    }

    if (in_array('Plumbing',$_POST['services'])){
        $email_to .= ",bill@gmail.com";
    }

    if (in_array('Painting',$_POST['services'])){
        $email_to .= ",donnie@gmail.com";
    }

=
将第二个地址附加到第一个地址

$\u POST['services']是一个数组,因此:

$email_to = 'david@gmail.com';

    if (in_array('Electrical',$_POST['services'])){
        $email_to .= ",roger@gmail.com";
    }

    if (in_array('Plumbing',$_POST['services'])){
        $email_to .= ",bill@gmail.com";
    }

    if (in_array('Painting',$_POST['services'])){
        $email_to .= ",donnie@gmail.com";
    }

=
将第二个地址附加到第一个地址上

您可以使用数组来完成此操作

$emails = array();

if($_POST['services'] == 'Plumbing') {
    $emails[] = 'user@gmail.com';
}

if($_POST['services'] == 'Painting') {
    $emails[] = 'user@gmail.com';
}
在发送电子邮件时,我只需迭代数组

foreach( $emails as $email )
    mail($email, 'Subject', ....);

您可以为此使用数组

$emails = array();

if($_POST['services'] == 'Plumbing') {
    $emails[] = 'user@gmail.com';
}

if($_POST['services'] == 'Painting') {
    $emails[] = 'user@gmail.com';
}
在发送电子邮件时,我只需迭代数组

foreach( $emails as $email )
    mail($email, 'Subject', ....);
添加了
isset($\u POST['services'])
以在使用前验证变量,并用于附加字符串,您可以使用
=

$email_to = 'david@gmail.com';
if(isset($_POST['services']){
    if ($_POST['services'] == 'Electrical'){
        $email_to .= ",roger@gmail.com";
    }
    if($_POST['services'] == 'Plumbing'{
        $email_to .= ",bill@gmail.com";
    }
    if($_POST['services'] == 'Painting'){
        $email_to .= ",donnie@gmail.com";
    }
}
添加了
isset($\u POST['services'])
以在使用前验证变量,并用于附加字符串,您可以使用
=

$email_to = 'david@gmail.com';
if(isset($_POST['services']){
    if ($_POST['services'] == 'Electrical'){
        $email_to .= ",roger@gmail.com";
    }
    if($_POST['services'] == 'Plumbing'{
        $email_to .= ",bill@gmail.com";
    }
    if($_POST['services'] == 'Painting'){
        $email_to .= ",donnie@gmail.com";
    }
}


试试这封$email\udavid@gmail.com';您正在使echo to mail id不附加第二个邮件id。有关$\u POST['services']的来源以及它如何“包括电气和管道”的问题,是否为文本输入\复选框?请尝试使用此$email\u to='10'david@gmail.com';您正在使echo to mail id不附加第二个邮件id。有关$_POST['services']的源问题,以及它如何“包括电气和管道”,是否为文本输入\复选框?您最好解释如何使用$emails数组-ie infrade(),我可以,但我更喜欢迭代数组。不确定性能问题,但有几封电子邮件,没什么大不了的。你最好解释一下如何使用$emails数组-ie implode(),我可以,但我更喜欢迭代数组。不确定性能问题,但有几封电子邮件,没什么大不了的。添加了实现。什么使您的船漂浮。不使用(isset($\u POST['services'))三次,您可以使用一次,然后可以检查变量的值,而不使用(isset($\u POST['services'))三次你可以使用一次,然后你可以检查变量的值。我尝试了所有建议,但没有任何效果。因此,我在底部发布了实际代码和电子邮件,以明确说明…@NetTemple不清楚你添加了什么
$\u POST['services']
id
var\u dump($\u POST)
并向我们显示有帮助的输出我添加了上面的表单-这有帮助吗?已更新。我可能会用另一种方法完成,因为我知道您的dong,但这仍然有效。我在每个“如果”开头都会显示红色错误指示灯行…?这可能是它不起作用的一个指标?我尝试了所有的建议,但都没有起作用。因此我在底部发布了实际的代码和电子邮件,以明确说明…@NetTemple不清楚您添加了什么
$\u POST['services']
id
var\u dump($\u POST)
并向我们显示有帮助的输出我添加了上面的表单-这有帮助吗?已更新。我可能会用另一种方法完成,因为我知道您的dong,但这仍然有效。我在每个“如果”行的开头都会显示红色错误指示灯…?这可能是它不起作用的原因指示灯?