我正在使用一个简单的php邮件程序为我的网站联系表单。我有一个表格首先询问他们的联系主题,如果他们选择了特定选项,那么收件人选择将会淡入,您可以选择要使用的收件人。但。由于垃圾邮件,我不想在代码中写入电子邮件地址。所以我试图通过php变量来实现这一点。
我的邮件是这样的:
<?php
$var1="xxx@gmail.com";
$var2="xxx@gmail.com";
$to = "$_POST[kohde]";
$subject = "$_POST[asia]";
$message = "
$_POST[tiedot]\n
$_POST[nimi]
$_POST[email]
$_POST[puhelin]
IP-osoite: $_POST[ip] ";
$from = "xxx.fi";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
?>
但是使用变量名称作为值不会起作用。那么,如何选择要使用该选项的电子邮件而不将电子邮件硬编码为选项值?
<select name="kohde" style="width:233px;" >
<option value="$var1">xxx.fi</option>
<option value="$var">Sivun tekijälle</option>
</select>
答案 0 :(得分:0)
您的第一个代码应为:
<?php
$var1="xxx@gmail.com";
$var2="xxx@gmail.com";
$to = $_POST["kohde"];
$subject = $_POST["asia"];
$message = $_POST["tiedot"] .
$_POST["nimi"] .
$_POST["email"] .
$_POST["puhelin"] .
"IP-osoite:" . $_POST["ip"];
$from = $_POST["kohde"];
$headers = "From:" . $from;
mail($to, $subject, $message, $headers);
?>
您必须在括号内的数组选择器周围放置引号,而不是在整个变量名称周围。另外,您可以使用$from
将表单值添加为$_POST["kohde"]
。
答案 1 :(得分:0)
我会这样做......
使用此PHP获取$ to地址:
$goodAddresses = array(1 => 'a@x.com', 2 => 'b@x.com');
$to = 'default@x.com';
if(isset($goodAddresses[$_POST['kohde']])) {
$to = $goodAddresses[$_POST['kohde']];
}
并更改html文件中选择选项的值以匹配PHP中的数组键:
<select name="kohde" style="width:233px;" >
<option value="1">xxx.fi</option>
<option value="2">Sivun tekijälle</option>
</select>