【发布时间】:2016-05-15 20:39:48
【问题描述】:
感谢您在此处提供的所有信息,但我似乎缺少将其发送到每个特定电子邮件地址的内容。
此代码的基础来自线程: Send PHP Form to Different Emails Based on Radio Buttons
<form name="contact-form" method="post" action="contact.php">
<div class="form_details">
<input type="text" id="field_name" name="sender_name" class="text" value="name">
<input type="text" id="field_email" name="sender_email" class="text" value="email" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Email';}">
<input type="text" id="field_subject" name="sender_subject" class="text" value="subject" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Subject';}">
<textarea id="field_message" name="sender_message" value="Message" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Message';}"></textarea>
<div class="clearfix"> </div>
<div class="sub-button">
<div style="float:left">
<input type="radio" name="department" value="archery"> Archery
<input type="radio" name="department" value="firearms"> Firearms
<input type="radio" name="department" value="general"> General Inquiry
</div>
<div class="g-recaptcha" data-sitekey="6LeydxcTAAAAACBd4beoLDgtu0LIqzTWOJnvfsH-"></div>
<input type="submit" name="send_message" value="Submit">
</div>
</div>
</form>
<?php
// Assigning data from the $_POST array to variables
$name = $_POST['sender_name'];
$mail_from = $_POST['sender_email'];
$phone = $_POST['sender_phone'];
$sender_subject = $_POST['sender_subject'];
$message = $_POST['sender_message'];
$radio = isset($_POST['archery']) ? $_POST['firearms'] : $_POST['general'];
if (isset($_POST['archery'])) {
$department = 'info1@info.com';
} elseif (isset($_POST['firearms'])) {
$department = 'info2@info.com';
} elseif (isset($_POST['general'])) {
$department = 'info3@info.com';
} else {
$department = 'info4@info.com';
}
// Construct email subject
$subject = 'SC Website Message ';
// Construct email body
$body_message .= 'From: ' . $name . "\r\n";
$body_message .= 'E-mail: ' . $mail_from . "\r\n";
$body_message .= 'Subject: ' . $sender_subject . "\r\n";
$body_message .= 'Message: ' . $message;
// Construct email headers
$headers = 'From: ' . $mail_from . "\r\n";
$headers .= 'Reply-To: ' . $mail_from . "\r\n";
$mail_sent = mail($mail_to, $subject, $body_message, $headers);
if ($mail_sent == true){ ?>
<script language="javascript" type="text/javascript">
alert('Thank you for your message, we will be in contact shortly.');
window.location = 'contact.html';
</script>
<?php } else { ?>
<script language="javascript" type="text/javascript">
alert('Message not sent. Please, notify the site administrator info1@info.com');
window.location = 'contact.html';
</script>
<?php
}
?>
【问题讨论】:
-
没有你的 HTML 没有人能知道发生了什么。您是否查看了为链接问题提供的答案?特别是接受的答案?
-
没有足够的代码来支持这个问题;主要是您正在使用的 HTML 表单。
-
另外,
$mail_to在此处未定义。 -
HTML 添加在上面,不确定它是否是最好的方法,但有效
标签: php forms button conditional radio