Форма электронной почты на конкретные адреса электронной почты, основанные на значениях, выбранных в MultiSelect Box - PullRequest
1 голос
/ 02 февраля 2012

Я создал HTML-контактную форму, которая подключается к базе данных MySQL, чтобы заполнить некоторые параметры в поле множественного выбора.

Теперь мне нужно отправить электронное письмо конкретным людям в зависимости от того, какие значения выбраны в поле MultiSelect. Но я не могу понять, как определить адреса электронной почты на основе выбора.

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

$sql="SELECT addr1, city, status FROM listings WHERE status<>'Hidden' ";
$result=mysql_query($sql) or die(mysql_error());
$options=""; 

 while ($row=mysql_fetch_array($result)) { 

     $addr1=$row["addr1"]; 
     $city=$row["city"];
     $status=$row["status"];
     $options.="<OPTION VALUE=\"$addr1\">".$addr1 . ', ' . $city . ' - ' . $status; 
 }

<select multiple name="unit" id="unit" size="10" validate="required:true, rangelength:[1,5]">
    <?=$options ?> 
</select>

Структура моей базы данных выглядит следующим образом

addr1        city        status        manager
address      somecity    available     John Citizen
addresstwo   city2       not available Jack Citizen
addressthree city3       available     Jill Citizen

Таким образом, когда кто-то выбирает Джона Ситизена и Джил Ситизен, электронное письмо следует отправить этим двум людям. Мне также нужно будет объявить адреса электронной почты для этих двух людей через переменные PHP. Затем форма будет отправлена ​​с этим кодом. (Этот код находится в другом файле PHP, который вызывает действие формы)

mail($emailaddresses,$subject,$html,"From: info@#####\r\nContent-type: text/html\r\n");

}

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

1 Ответ

1 голос
/ 02 февраля 2012

Дайте вашему полю формы множественного выбора имя, которое заканчивается на [] (например, name = "unit []"). В PHP при отправке формы будет создан массив, который будет заполнен выбранными элементами ($ _POST ("unit")). Затем вы можете взорвать () массив, разделив адреса электронной почты запятой (или точкой с запятой - я никогда не помню, какой из них разграничивает электронные письма в функции php mail ()). Затем просто бросьте эту строку адреса в ваш вызов mail ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...