У меня есть контактная форма со следующими полями:
- Имя
- Электронная почта
- Номер
- Отдел
- Сообщение
«Отдел» - это выпадающий список с семью следующими параметрами
- Аудиоинженерия
- Графика c Дизайн
- Musi c Производство
- Фотография
- Видеография
- Веб-разработка
- Другое
Я пытался установить Это происходит таким образом, что адрес электронной почты, на который отправляются данные, изменяется в зависимости от выпадающего списка пользователя. Например, если пользователь выбирает вариант 1 « Audio Engineering », электронное письмо будет отправлено на «audio@email.com». Если пользователь выберет вариант 2 « Graphi c Design », электронное письмо будет отправлено на «graphics@email.com» и т. Д. После отправки формы. Однако мой текущий код возвращает ошибку.
Это мой HTML.
<form method="post" action="contact.php" name="contactform" id="contactform">
<fieldset id="contact_form">
<label for="name">
<input type="text" name="name" id="name" placeholder="ENTER YOUR NAME">
</label>
<label for="email">
<input type="email" name="email" id="email" placeholder="ENTER YOUR EMAIL">
</label>
<label for="phone">
<input type="text" name="phone" id="phone" placeholder="PHONE NUMBER">
</label>
<label for="department">
<select name="department" id="department" class="cs-select cs-skin-border" required>
<option value="" disabled selected>DEPARTMENT</option>
<option value="audio">Audio Engineering</option>
<option value="graphics">Graphic Design</option>
<option value="music">Music Production</option>
<option value="photography">Photography</option>
<option value="videography">Videography</option>
<option value="development">Web Development</option>
<option value="other">Other</option>
</select>
</label>
<label for="comments">
<textarea name="comments" id="comments" placeholder="ENTER YOUR MESSAGE"></textarea>
</label>
<input type="submit" class="submit btn btn-default btn-black" id="submit" value="Submit">
</fieldset>
</form>
Это фрагмент моего PHP, где я использую операторы if для изменения адресов электронной почты на основе selection.
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$dept = $_POST['department'];
$comments = $_POST['comments'];
if(trim($name) == '') {
echo '<div class="error_message" style="color: #de493e; font-weight: 700;">Please enter your name. Don\'t be shy!</div>';
exit();
} else if(trim($email) == '') {
echo '<div class="error_message" style="color: #de493e; font-weight: 700;">Please enter your email address, so we can get back to you!</div>';
exit();
} else if(!isEmail($email)) {
echo '<div class="error_message" style="color: #de493e; font-weight: 700;">Invalid e-mail address, try again!</div>';
exit();
} else if(trim($comments) == '') {
echo '<div class="error_message" style="color: #de493e; font-weight: 700;">You forgot to enter your message!</div>';
exit();
}
if($dept == "audio") {
$address = "audio@email.com";
} else if ($dept == "graphics") {
$address = "graphics@email.com";
} else if ($dept == "music") {
$address = "music@email.com";
} else if ($dept == "photography") {
$address = "photography@email.com";
} else if ($dept == "videography") {
$address = "videography@email.com";
} else if ($dept == "development") {
$address = "development@email.com";
} else if ($dept == "other") {
$address = "admin@email.com";
}
if(mail($address, $received_subject, $message, $header)) {
// Email has sent successfully, echo a success page.
echo "<h2>Email Sent Successfully.</h2>";
echo "<p>Thank you <strong>$name</strong>, your message has been sent to us.</p>";
echo "<p>We will get back to you within 24 hours!</p>";
} else {
echo '<h2>ERROR!</h2>';
}
?>
Это, к сожалению, возвращает "ОШИБКА!" и я не уверен, почему.
Я также хотел бы вернуть сообщение об ошибке, если выбор не сделан.