选择要在php邮件程序中使用的变量

时间:2012-06-05 18:07:01

标签: php

我正在使用一个简单的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>

2 个答案:

答案 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>