#php #forms #email
#php #формы #Адрес электронной почты
Вопрос:
Я пытаюсь написать пользовательскую форму направления. Пользователь может отправлять максимум до 10 электронных писем, и должен ввести хотя бы одно.
Я использую метод POST для своей формы. Если пользователь вводит 3 электронных письма (или 5, или 7, или 9 и т. Д.), Как я могу получить все это?
Кроме того, я использую JavaScript для добавления / удаления полей. Не то чтобы это имело значение, потому что все они имеют идентификатор, к которому в конце добавляется число. (Например, tf1, tf2, tf3, tf4 и т.д. и т.п.)
Вот мой HTML: http://www.graphicgoldfish.com /
Чтобы получить представление о том, к чему я стремлюсь.
PHP:
$from = $_POST["tf_from"];
$r_char_name = $_POST["tf_character"];
$r_ign = $_POST["tf_ign"];
$contacts = array();
foreach($contacts as $contact) {
$to = $contact;
$subject = "Check out this server!"
$message = "http://www.arithia.com"
mail($to, $subject, $message, $headers);
}
Это все, что у меня есть на данный момент в моем PHP. 🙁
РЕДАКТИРОВАТЬ: я знаю, что могу использовать кучу условных обозначений, кстати… (Если поле не пустое, отправьте электронное письмо), но я уверен, что есть лучший способ сделать это, и я просто хотел бы знать. ^_^
Комментарии:
1. Нам нужно увидеть пример вывода того, как выглядят введенные электронные письма. Основаны ли они на методе, разделенном запятыми, методе перевода строки, другом?
Ответ №1:
Для каждого input
тега электронной почты нужен name
атрибут, например:
<input type="email" name="emails[]" id="..">
В PHP он будет автоматически преобразован в массив, когда name
заканчивается на []
.
for ($i = 0; $i < min(count($_POST['emails']), 10); $i ) {
$email = $_POST['emails'][$i];
// send email
}