PHP-发送邮件问题

时间:2010-09-01 19:01:26

标签: php forms

我正在用PHP编写sendmail脚本。它主要基于用户在菜单下拉列表中选择的内容。菜单如下所示:

<select name="program">
    <option value="Red Program">Red Program</option>
    <option value="Green Program">Green Program</option>
    <option value="Yellow Program">Yellow Program</option>
    <option value="Blue Program">Blue Program</option>
    <option value="Orange Program">Orange Program</option>
    ...

我需要评估从此菜单中选择了哪个选项,并将该程序的标题发送给电子邮件中的某个人。但是,一半的程序需要发送到一个地址,另一半需要发送到不同的地址。返回程序名称并评估已选择的内容以查看应将其发送到哪个地址的最佳方法是什么?

是否比为每个可能的值编写if语句更简单? 谢谢!

2 个答案:

答案 0 :(得分:2)

带电子邮件的简单数组

<?php
$programs = array(
  "Red Program" => "test_1@example.com",
  "Green Program" => "test_2@example.com",
);
if(isset($programs[$_POST['program']]))
    mail($programs[$_POST['program']], $_POST['program']);

但最好在表单值中使用id而不是名称

答案 1 :(得分:1)

我认为你可以创建两个带有程序名称的数组,然后检查用户选择的数组。

// $selection is the user's selection

$FirstEmailAdress=array("Red Program", "Green Program", "Yellow Program");
$SecondEmailAddress=array("Blue Program", "Orange Program");

function CheckEmail ($selection) {
    foreach ($FirstEmailAddress as $value) {
        if ($value==$selection) return "first@email.address";
        // if the selection is found in the first array,
        // the function stops and returns the first address
    }
    return "second@email.address";
    // otherwise, it returns the second one
}