PHP - Отправить вопрос по почте - PullRequest
1 голос
/ 01 сентября 2010

Я сейчас пишу скрипт sendmail на PHP.Это в значительной степени основано на том, что пользователь выбирает в выпадающем меню. Меню выглядит следующим образом:

<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 ]

2 голосов
/ 01 сентября 2010

Простой массив с электронными письмами

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

Но лучше использовать идентификаторы в значениях формы вместо имен

1 голос
/ 01 сентября 2010

Я думаю, вы можете создать два массива с именами программ, а затем проверить, в каком массиве найден выбранный пользователем вариант.

// $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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...