2010-09-01 65 views
1

我正在用PHP寫一個sendmail腳本。它主要是圍繞什麼,用戶在菜單dropdown.The菜單中選擇基於如下所示:PHP-Send Mail問題

<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

簡單數組電子郵件

<?php 
$programs = array(
    "Red Program" => "[email protected]", 
    "Green Program" => "[email protected]", 
); 
if(isset($programs[$_POST['program']])) 
    mail($programs[$_POST['program']], $_POST['program']); 

但它是更好地使用IDS形式值而不是名稱

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 "[email protected]"; 
     // if the selection is found in the first array, 
     // the function stops and returns the first address 
    } 
    return "[email protected]"; 
    // otherwise, it returns the second one 
}