【问题标题】:Selecting a variable to use at php mailer选择要在 php 邮件程序中使用的变量
【发布时间】:2012-06-05 18:07:00
【问题描述】:

我正在为我的网站联系表使用一个简单的 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>

【问题讨论】:

  • 你应该使用 =$var1;?> 来打印一个变量。但是,这并不能解决您的问题。您可以设置选项 value='1' 并在 php 中设置电子邮件 if($_POST['kohde']=='1')$to='xxx@gmail.com';

标签: php


【解决方案1】:

我会这样做......

使用这个 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>

【讨论】:

  • 我已更新我的答案以使其更易于理解。第一部分在您的 PHP 代码中设置 $to 变量。第二部分是对您的 html 的一个小改动。
  • 我正在使用 Dreamweaver,它给了我语法错误...我真的很讨厌 php,但不知道它有什么问题?它给出了 if(isset($goodAddresses[$_POST['kohde']) { 和 $to = $goodAddresses[$_POST['kohde']; 部分的语法错误那么我需要做什么?跨度>
  • 对不起。我在这些行上省略了一个右方括号。应该有两个连续:]]我已经编辑了答案来修复它。
  • 谢谢。我能够编写一些非常基本的函数,但如果我得到一个要使用的函数,并且它有一个错误,我就无法让它工作。
  • 它仍然会产生语法错误。我只是将它硬编码到代码中。
【解决方案2】:

你的第一个代码应该是这样的:

<?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);
?>

您必须将引号括在数组选择器的括号内,而不是整个变量名。此外,您可以使用$_POST["kohde"] 将表单值添加为$from

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多