PHP联系表根据选择通过电子邮件发送特定人员

时间:2017-09-22 14:35:02

标签: php html

只是想知道是否有一种方法可以在我使用的PHP表单中创建变量。我仍然是这个东西真正的新手,所以要好:):

我希望为我工作的医院的多个部门创建差异日志。我希望有一个下拉列表,所有部门和他们选择的任何部门都将决定将电子邮件发送给谁(即管理员发送电子邮件)。

这就是我目前所拥有的。 (没有附上样式表,错误或感谢页面,因为我认为它们不相关)

var_contact.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>Variance Log Form</title>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <link rel="stylesheet" type="text/css" href="var_style.css" />
</head>

<body>

<div id="page-wrap">
    <div id="contact-area">
        <H1>Variance Log Form</H1>
        <br />
        <br />
        <form method="post" action="var_contactengine.php">
            <label for="Name">Name:</label>
            <input type="text" name="Name" id="Name" />

            <label for="Name">Dept:</label>
            <select name="Dept" id="Dept">
                  <option value="" selected class="list"></option>
                  <option value="Accounting">Accounting</option>
                  <option value="Administration">Administration</option>
                  <option value="Bariatric Services">Bariatric Services</option>
                  <option value="Bariatric Care">Bariatric Care</option>
                  <option value="Cardiac Rehab">Cardiac Rehab</option>
                  <option value="CBO">CBO</option>
                  <option value="Central Scheduling">Central Scheduling</option>
                  <option value="Dietary">Dietary</option>
                  <option value="ER">ER</option>
                  <option value="ICU">ICU</option>
                  <option value="IS">IS</option>
                  <option value="Infusion">Infusion</option>
                  <option value="Lab">Lab</option>
                  <option value="Materials">Materials</option>
                  <option value="Medical Records">Medical Records</option>
                  <option value="MedSurg">MedSurg</option>
                  <option value="OB">OB</option>
                  <option value="Pharmacy">Pharmacy</option>
                  <option value="Physical Therapy">Physical Therapy</option>
                  <option value="Pain Clinic">Pain Clinic</option>
                  <option value="BPIM">BPIM</option>
                  <option value="Georgetown Cardiology">Georgetown Cardiology</option>
                  <option value="Gastro">Gastro</option>
                  <option value="Oncology">Oncology</option>
                  <option value="Georgetown Bariatrics">Georgetown Bariatrics</option>
                  <option value="GFP">GFP</option>
                  <option value="General Surgery">General Surgery</option>
                  <option value="Neurology">Neurology</option>
                  <option value="Pulmonology">Pulmonology</option>
                  <option value="Urology">Urology</option>
                  <option value="Express Care">Express Care</option>
                  <option value="Plant-Ops">Plant-Ops</option>
                  <option value="Quality">Quality</option>
                  <option value="Radiology">Radiology</option>
                  <option value="Registration">Registration</option>
                  <option value="Respiratory Therapy">Respiratory Therapy</option>
                  <option value="Surgery">Surgery</option>

            </select>

            <label for="Email">Email:</label>
            <input type="text" name="Email" id="Email" />

            <label for="Message">Message:</label><br />
            <textarea name="Message" rows="20" cols="20" id="Message"></textarea>

            <input type="submit" name="submit" value="Submit" class="submit-button" />
        </form>

        <div style="clear: both;"></div>



    </div>

</div>

</body>

</html>

var_contactengine.php(这是我需要帮助的。不确定我是否可以使用“IF”语句来说明IF Dept = MedSurg $emailto=medsurg@domain.com)

<?php

$EmailFrom = "varlog@domain.com";
$EmailTo = "deptmanager@domain.com";
$Subject = "HR Contact Request";
$Name = Trim(stripslashes($_POST['Name'])); 
$Dept = Trim(stripslashes($_POST['Dept'])); 
$Message = Trim(stripslashes($_POST['Message'])); 

// validation
$validationOK=true;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=var_error.html\">";
  exit;
}

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= $"Dept:";
$Body .= $Dept;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=var_contactthanks.php\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=var_error.htm\">";
}
?>

1 个答案:

答案 0 :(得分:1)

你可以把所有东西放在一个数组中:

$emails = array(
    "Accounting" => "some@email.com, some2@email.com",
    "Radiology" => "some@email.com, some2@email.com",
);

然后

if (!empty($Dept) && isset($emails[$Dept])) {
    $EmailTo = $emails[$Dept];
}

作为旁注: 我发现你没有对$ EmailFrom进行任何验证,你可以使用类似的东西

if (filter_var($EmailFrom, FILTER_VALIDATE_EMAIL)) {
    $validationOK=true;
}