2012-04-01 3 views
0

У меня есть форма, которая должна быть отправлена ​​разным владельцам в зависимости от местоположения, которое пользователь выбирает в контактной форме. Я использую шаблон и смог редактировать поля, чтобы они были теми значениями, которые я хочу, но с трудом пытаюсь выяснить, как получить его к правильному человеку.Отправить электронное письмо уникальному человеку на основе раскрывающегося списка

<?php 

if(!$_POST) exit; 

$email = $_POST['email']; 

//$error[] = preg_match('/\b[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS'; 
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z] {2,}"."$",$email)){ 
$error.="Invalid email address entered"; 
$errors=1; 
} 
if($errors==1) echo $error; 
else{ 
$values = array ('location','name','email','phone','message'); 
$required = array('location','name','email','phone','message'); 

$your_email = "[email protected]"; 
$email_subject = "New Message: ".$_POST['subject']; 
$email_content = "new message:\n"; 

foreach($values as $key => $value){ 
    if(in_array($value,$required)){ 
    if(empty($_POST[$value])) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; } 
    $email_content .= $value.': '.$_POST[$value]."\n"; 
    } 
} 

if(

if(@mail($your_email,$email_subject,$email_content)) { 
    echo 'Message sent!'; 
} else { 
    echo 'ERROR!'; 
} 
    } 
?> 

Я хотел бы изменить, на кого указана $ your_email, в зависимости от раскрывающегося меню Расположение. И всегда CC тоже конкретный человек.

Форма находится по адресу: http://amazinggaragefloors-net.si-sv3641.com/contactus.html

ответ

3
$email_location = $_POST['location']; // the value from your form 

if($email_location == "Atlanta") { // a form value and a location 
    $your_email = "[email protected]"; // the email for that location 
} else if ($email_location == "Colorado") { 
    $your_email = "c[email protected]"; 
} else if ($email_location == "Virginia") { 
    $your_email = "[email protected]"; 
} else if ($email_location == "Kansas City") { 
    $your_email = "[email protected]"; 
} else { // if no one is good, send it to this email 
    $your_email = "[email protected]"; 
} 

Положите это на место $ your_email = "[email protected]"; и вы будете работать. Будьте предупреждены, что вы не позволяете пользователю управлять определенным адресом электронной почты, так как он может быть использован для спама. Всегда используйте статические ссылки, как в случае с местом в качестве ссылки.

0

Я принял ответ от ArendE и применил его мудрость к форме, которую я только что создал.

в /contactengine.php я включил в этот код (замените строку # 4):

$Email_Query = $_POST['Query']; // the value from your form 

if($Email_Query == "Publishing") { // a form value and a location 
    $EmailTo = "[email protected]"; // the email for that location 
} else if ($Email_Query == "Custom Programs") { 
    $EmailTo = "[email protected]"; 
} else if ($Email_Query == "Events") { 
    $EmailTo = "[email protected]"; 
} else if ($Email_Query == "Subscriptions") { 
    $EmailTo = "[email protected]"; 
} else { // if no one is good, send it to this email 
    $EmailTo = "[email protected]"; 
} 

Опять же, я добавил этот код в тот же файл выше (после строки 5)

$Query = Trim(stripslashes($_POST['Query'])); 

Кроме того, я добавил этот код в тот же файл выше (после строки 19)

$Body .= "Query: "; 
$Body .= $Query; 

Я добавил выпадающий список к моей форме:

<select id="Query" name="Query"> 
    <option value="Publishing" name="Query1">Publishing</option> 
    <option value="Custom Programs" name="Query2">Custom Programs</option> 
    <option value="Events" name="Query3">Events</option> 
    <option value="Subscriptions" name="Query4">Subscriptions</option> 
</select> 

Замечательный! Хорошая работа, ваша установка и готов к рок-н-ролл ...

Спасибо за внимание,

P.S. Я не верю, что будет отправлено электронное письмо «CC». Во время моих тестовых тестов я никогда не получал их, однако я доволен заявлением закрытия else.

Смежные вопросы