只是想知道是否有一种方法可以在我使用的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\">";
}
?>
答案 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;
}