[英]Add email address to php $email_to variable
我有一個帶有簡單復選框列表的表單。 我需要根據已選中的框通過電子郵件發送給所有表單的表單。 下面是我認識到代碼尚待解決的基本邏輯位。
$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";
}
.';
因此,想法是,如果服務復選框包含Electrical ,則電子郵件變量將包含$email_to = 'david@gmail.com,roger@gmail.com'
並且,如果“ 服務”復選框包含“ 電氣和管道” ,則電子郵件變量將包含$email_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" /> Ecomtek<br />
<input type="checkbox" name="services[]" value="E-Payroll" /> E-Payroll<br />
<input type="checkbox" name="services[]" value="Humana" /> Humana<br />
<input type="checkbox" name="services[]" value="John Conti" /> John Conti<br />
<input type="checkbox" name="services[]" value="Kentucky RX Card" /> Kentucky RX Card<br />
<input type="checkbox" name="services[]" value="Lifelock" /> Lifelock<br />
<input type="checkbox" name="services[]" value="Logans" /> Logan's<br />
<input type="checkbox" name="services[]" value="Norton Healthcare" /> Norton Healthcare<br />
<input type="checkbox" name="services[]" value="Office Depot" /> Office Depot<br />
<input type="checkbox" name="services[]" value="ProWaste" /> ProWaste<br />
<input type="checkbox" name="services[]" value="Thorntons" /> 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>
$ _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', ....);
添加了isset($_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_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";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.