PHP如果值,那么其他电子邮件?

PHP如果值,那么其他电子邮件?,php,email,if-statement,header,carbon-copy,Php,Email,If Statement,Header,Carbon Copy,我的事件页面有一个PHP表单。现在,给自己发电子邮件非常有效,我可以毫无问题地将它抄送给我喜欢的任何人。但是,如果从我表单上的下拉框中选择了某个事件,我只想将其发送给特定的人,然后将其抄送给我。通过这种方式,举办活动的组织可以收到一份完整的表格副本。如果可能的话,我还想给被发送的人发送一条定制的消息。例如: 如果填写表格的人选择了“心脏漫步”事件,则表格结果应发送至bob@email.com“上面写着:“嗨,鲍勃,你已经收到一位新的志愿者参加你的心脏病步行活动。下面是注册的副本。” 当然我也得到

我的事件页面有一个PHP表单。现在,给自己发电子邮件非常有效,我可以毫无问题地将它抄送给我喜欢的任何人。但是,如果从我表单上的下拉框中选择了某个事件,我只想将其发送给特定的人,然后将其抄送给我。通过这种方式,举办活动的组织可以收到一份完整的表格副本。如果可能的话,我还想给被发送的人发送一条定制的消息。例如:

如果填写表格的人选择了“心脏漫步”事件,则表格结果应发送至bob@email.com“上面写着:“嗨,鲍勃,你已经收到一位新的志愿者参加你的心脏病步行活动。下面是注册的副本。”

当然我也得到了一份

我可以为$sendtoemail命令执行if/then语句或数组吗?然后将以下内容复制给我:

$headers .= "Cc: me@myemail.com\r\n";
最好的方法是什么?谢谢你的帮助!:)

编辑:

这是我的密码:

<?php
if (get_magic_quotes_gpc()) {
function stripslashes_deep($value)
{
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}

$_POST = array_map('stripslashes_deep', $_POST);
$_GET = array_map('stripslashes_deep', $_GET);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}

//send an email from the server TO YOUR EMAIL
$fromname = $_REQUEST['firstname'];
$fromemail = $_REQUEST['email'];
$subject = "NMVN EVENT REGISTRATION";

$message = " <b>EVENT:</b> ".$_REQUEST['pickevent'];
$message .= " <br><br> <b>First Name:</b> ".$_REQUEST['firstname'];
$message .= " <br> <b>Last Name:</b> ".$_REQUEST['lastname'];
$message .= " <br> <b>Cell Phone:</b> ".$_REQUEST['cellphone'];
$message .= " <br> <b>Alternative Phone:</b> ".$_REQUEST['altphone'];

//This is the person who is going to receive the email
$sendtoname = "Mike Gandy";
$sendtoemail = "me@myemail.com";

//Email header stuff
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $fromname <$fromemail>\r\n";
$headers .= "To: $sendtoname <$sendtoemail>\r\n";
$headers .= "Reply-To: $fromname <$fromemail>\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: Created by Mike Gandy";

//this next line creates and sends the email
mail($sendtoemail, $subject, $message, $headers);

?>
为此:

if ($_REQUEST['pickevent'] == 'HeartWalk'))
//if "HeartWalk" is filled out, send to email
  {
  //send email
  $sendtoname = "Bob";
  $sendtoemail = "bob@email.com";
  }
elseif ($_REQUEST['pickevent'] == 'RaceCure'))
//if "RaceCure" is filled out, send to email
  {
  //send email
  $sendtoname = "Susan";
  $sendtoemail = "susan@email.com";
  }  
elseif ($_REQUEST['pickevent'] == 'Bowling'))
//if "Bowling" is filled out, send to email
  {
  //send email
  $sendtoname = "John";
  $sendtoemail = "john@email.com";
  }
switch(strtolower($event){
    case 'HeartWalk':
        $sendtoname('Bob')
        $sendtoemail('bob@email.com');
        break;
    case 'RaceCure':
        $sendtoname('Susan')
        $sendtoemail('susan@email.com');
        break;
    case 'Bowling':
        $sendtoname('John')
        $sendtoemail('john@email.com');
        break;
}
但是另外,我需要选择一个事件,所以“else”将是一个弹出窗口,上面写着“Pick an event!”。这有用吗

上次编辑:

好的,我已经开始验证了。非常感谢。我要替换这个:

$sendtoname = "Mike Gandy";
$sendtoemail = "me@myemail.com";
$sendtoname = "Mike Gandy";
$sendtoemail = "me@myemail.com";
为此:

if ($_REQUEST['pickevent'] == 'HeartWalk'))
//if "HeartWalk" is filled out, send to email
  {
  //send email
  $sendtoname = "Bob";
  $sendtoemail = "bob@email.com";
  }
elseif ($_REQUEST['pickevent'] == 'RaceCure'))
//if "RaceCure" is filled out, send to email
  {
  //send email
  $sendtoname = "Susan";
  $sendtoemail = "susan@email.com";
  }  
elseif ($_REQUEST['pickevent'] == 'Bowling'))
//if "Bowling" is filled out, send to email
  {
  //send email
  $sendtoname = "John";
  $sendtoemail = "john@email.com";
  }
switch(strtolower($event){
    case 'HeartWalk':
        $sendtoname('Bob')
        $sendtoemail('bob@email.com');
        break;
    case 'RaceCure':
        $sendtoname('Susan')
        $sendtoemail('susan@email.com');
        break;
    case 'Bowling':
        $sendtoname('John')
        $sendtoemail('john@email.com');
        break;
}
添加以下内容:

$headers .= "Cc: somebody@domain.com" . "\r\n";
并将我邮件的开头改为:

$message = "Dear $sendtoname, <br><br>A new volunteer has registered for your "$_REQUEST['pickevent'];
$message .= " event. Below is a copy of their registration: ".$_REQUEST['blank'];
$message .= " <br><br> <b>First Name:</b> ".$_REQUEST['firstname'];
$message=“亲爱的$sendtoname,

一名新志愿者已为您的“$\u请求['pickevent]”注册; $message.=“event.下面是他们的注册副本:“..u请求['blank'”; $message.=“

名字:”.$\u请求['firstname'];
在我的表格中包括:

<input type="hidden" name="blank" value="">


是吗?否?

您可以尝试使用switch语句

switch(strtolower($event){
    case 'heart walk':
        $sendtoemail('bob@email.com');
        break;
    case 'some other walk':
        $sendtoemail('theotherguy@email.com');
        break;
    default:
        $sendtoemail('info@email.com');
        break;
}
  • 使用
    select
    HTML标记创建下拉菜单:

    <select name="event">
    <option value="heartwalk">Heart Walk</option>
    <option value="other">Other</option>
    </select>
    
  • 对于验证,您可以在提交表单时从客户端上的JavaScript验证开始。例如,请参阅:


  • 当然,也建议在服务器端进行一些验证。根据您希望系统的健壮程度,您可以从不做任何事情将浏览器重定向回表单并在页面上显示消息开始。

    共享较大的代码片段可能会给您提供更好的答案。是的,您也可以通过数组来实现这一点。。不使用开关..这很好,但我不希望默认值指向任何地方。我希望它弹出一条消息,说“选择一个事件!”并阻止他们前进,直到他们选择一个事件。我只是添加了代码以使事情更清楚。谢谢你的帮助@martin!验证开始了。谢谢我是否用switch语句替换$sendtoemail?是的,替换,但使用赋值,就像在我的示例中一样,我刚刚更新了。您将$sendtomail称为命令,而实际上它是一个变量,这让许多人感到困惑。完成后,请确保您接受您认为最有用的答案:)谢谢。谢谢,但我不希望默认答案指向任何地方。我希望它弹出一条消息,说“选择一个事件!”并阻止他们前进,直到他们选择一个事件。对不起,我之前没有澄清这一点!我只是添加了代码以使事情更清楚。感谢您的帮助@amlane86。验证工作正常。谢谢我是否用switch语句替换$sendtoemail?