我正在创建一个 HTML 联系表单,该表单使用 php 向 6 个不同的人发送电子邮件,具体取决于用户所做的选择。我的代码发送了电子邮件,但它只发送到默认值。我不确定需要改变什么才能使开关工作。sendTo 正在从 HTML 页面中提取。我把代码放在下面。
// Check if the form has been posted
if (isset($_POST['submit'])) {
// The email address the email will be sent to
switch ($_POST['$sendTo'])
{
case "membership":
$sendTo = "email1";
break;
case "performance":
$sendTo = "email2";
break;
case "quartets":
$sendTo = "email3";
break;
case "president":
$sendTo = "email4";
break;
case "regional":
$sendTo = "email5";
break;
case "website":
$sendTo = "email6";
break;
default:
$sendTo = "email6";
}
// The email subject
$subject = "Contact Form Submission";
// Set the from and reply-to address for the email
$headers = 'From: Organization <[email protected]>' . "\r\n" .
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();
// Build the body of the email
$mailbody = "You have received an email from the POB website contact form.\n\n"
. "Name: " . $_POST['name'] . "\n"
. "Email: " . $_POST['email'] . "\n"
. "Heard From: " . $_POST['howhear'] . "\n"
. "Message:\n" . $_POST['message'];
// Send the email
mail($sendTo, $subject, $mailbody, $headers);
// Go to the thank you page
header("location: thankyou.shtml");
exit;
}
<p><strong>Who do you want to contact?</strong><br/>
<select name="sendTo">
<option value="none">Select a Contact</option>
<option value="performance">Performance Manager</option>
<option value="membership">Membership Chair</option>
<option value="president">President</option>
<option value="quartets">Quartet Promotion Chair</option>
<option value="regional">Regional Events Coordinator</option>
<option value="website">Website</option>
</select>
</p>
如果用户在 HTML 页面上选择 Membership Chair,它应该发送到会员电子邮件。其他情况也一样。
您的代码中有拼写错误。您尝试获取 POST 信息 '$sendTo' 但您的实际信息是$_POST['sendTo']
switch($_POST['sendTo']){
case "membership":
$sendTo = "email1..";
break;
...
}
在 PHP 中,$ 用于指示以下是一个变量,但在您的情况下,您已经使用了变量 $_POST,其中包含有关活动 POST 请求的信息。$_POST 内部是一个信息,$_POST['sendTo']
它包含在 HTML 表单中选择的值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句