2015-02-24 3 views
2

Я на 100% неквалифицирован, когда дело доходит до PHP. Фактически, я в значительной степени взял этот код с другого сайта, который делится вещами с миром. Я создаю простой веб-сайт для своего сообщества, и у нас есть адреса, один для вопросов о членстве и один для общих вопросов.Отправить форму в отдел на основе выпадающего списка

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

Моя контактная форма HTML ниже:

<form action="contact.php" method="post"> 
Question Type:<br> 
<select name="cf_dept"> 
<option>General</option> 
<option>Membership</option> 
</select><br> 
Your name<br> 
<input type="text" name="cf_name"><br> 
Your e-mail<br> 
<input type="text" name="cf_email"><br> 
Message<br> 
<textarea name="cf_message"></textarea><br> 
<input type="submit" value="Send"> 
<input type="reset" value="Clear"> 
</form> 

Мой РНР:

<?php 
$field_name = $_POST['cf_name']; 
$field_email = $_POST['cf_email']; 
$field_message = $_POST['cf_message']; 

$mail_to = 'email address'; 
$subject = 'Message from website '.$field_name; 

$body_message = 'From: '.$field_name."\n"; 
$body_message .= 'E-mail: '.$field_email."\n"; 
$body_message .= 'Message: '.$field_message; 

$headers = 'From: '.$field_email."\r\n"; 
$headers .= 'Reply-To: '.$field_email."\r\n"; 

$mail_status = mail($mail_to, $subject, $body_message, $headers); 

if ($mail_status) { ?> 
<script language="javascript" type="text/javascript"> 
    alert('Thank you for the message. We will contact you shortly.'); 
    window.location = 'http://website.com'; 
</script> 
<?php 
} 
else { ?> 
<script language="javascript" type="text/javascript"> 
    alert('Message failed. Please, send an email to [email protected]'); 
    window.location = 'http://website.com/'; 
</script> 
<?php 
} 
?> 

Я прочитал несколько сайтов, включая здесь, но язык был действительно вне моей способности понять так Прошу прощения, если это легко исправить. Если бы кто-то мог сообщить мне, что мне нужно сделать, используя простейшую терминологию, я бы очень признателен ей.

+0

Какая у вас ошибка? –

+0

У меня нет ошибки с помощью приведенного выше кода. Извините, если я не понял. Проблема в том, что с указанным выше .php-кодом я могу отправить форму только на один адрес. Я бы хотел, чтобы форма была отправлена ​​на один адрес электронной почты, если был сделан «Общий» выбор, и он был отправлен на другое электронное письмо, если в форме выбрано «Членство». Так что, в основном, мне интересно, есть ли способ сделать, как условное, такое, что если значение «cf_dept» является «общим», данные формы будут отправляться по электронной почте №1, а если это: «Членство», это будет по электронной почте # 2? – chocofan

ответ

1

Ваш сценарий contact.php ожидает, что вы измените адрес электронной почты, который будет отправлен.

$mail_to = 'email address'; 

В вашем случае, вы просто должны сделать IF заявление, чтобы увидеть, какой адрес электронной пользователь имеет в виду, и альтернативный, как вы хотите.

Под вашими определениями fields вам нужно добавить еще один, который получит значение внутри <select name="cf_dept">.

$field_name = $_POST['cf_name']; 
$field_email = $_POST['cf_email']; 
$field_message = $_POST['cf_message']; 
$field_dept = $_POST['cf_dept']; 

if($field_dept == "Membership"){ 
    $mail_to = 'your membership email';  
}else{ 
    $mail_to = 'your general email';  
} 
+0

Ты рок-звезда. Большое спасибо. К сожалению, у меня нет достаточного количества репутаций на сайте, чтобы переместить свой комментарий. – chocofan

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