Отправка приглашений на электронные адреса, взятые из текстового ввода

Я пытаюсь выяснить HTML / PHP-код, который позволяет пользователю отправлять приглашения на адреса электронной почты, которые он вводит. Пользователь должен только ввести адрес электронной почты, а затем нажать кнопку «пригласить», после чего приглашение будет отправлено. У меня есть пять полей ввода, с помощью которых мне нужно написать php-код, чтобы взять введенные адреса электронной почты и отправить приглашения для

вот мой файл index.php:

<form method="post" action="test.php">
<input name="email" type="email" size="30" placeholder="email address of friend 1"><br>
<input name="email2" type="email" size="30" placeholder="email address of friend 2"><br>
<input name="email3" type="email" size="30" placeholder="email address of friend 3"><br>
<input name="email4" type="email" size="30" placeholder="email address of friend 4"><br>
<input name="email5" type="email" size="30" placeholder="email address of friend 5"><br><br>

<input name="sendername" type="text" size="30" placeholder="Your Name"><br>

<input type="submit" name="invite" value="Invite"> </form>

Я написал этот код в файле test.php, чтобы обработать код для первого письма, но он дает мне ответное сообщение «сообщение не может быть отправлено».

<?php

if(isset($_POST['invite'])) {

// CHANGE THE TWO LINES BELOW

$to = $_POST['email'];;

$subject = "This is subject";
$message = "This is simple text message.";
$header = "From:[email protected]\r\n";
$retval=@mail ($to,$subject,$message,$header);

if( $retval == true )
{  echo "Message sent successfully...";
}
else
{ echo "Message could not be sent...";
}}?>

-2

Решение

Вам нужно создать array как input как это:.

<input name="email[]" type="email" size="30" placeholder="email address of friend 1"><br>
<input name="email[]" type="email" size="30" placeholder="email address of friend 2"><br>
<input name="email[]" type="email" size="30" placeholder="email address of friend 3"><br>
<input name="email[]" type="email" size="30" placeholder="email address of friend 4"><br>
<input name="email[]" type="email" size="30" placeholder="email address of friend 5"><br>

И в PHP Вы можете получить доступ к созданному массиву с foreach как это:

<?php
if(isset($_POST['invite'])) {
// CHANGE THE TWO LINES BELOW
$subject="This is subject";
$message="This is simple text message.";
$email='[email protected]';
$header='From: '.$email."\r\n".'Reply-To: '.$email."\r\n".'X-Mailer: PHP/'.phpversion();
foreach($_POST['email'] as $value) {
$retval=@mail($value,$subject,$message,$header);
}

if($retval==true) {  echo "Message sent successfully...";
} else { echo "Message could not be sent...";
}

}
?>
0

Другие решения

После того, как я поборолся с этой проблемой и попытался ее решить, я понял, как это сделать. Вкратце, мне пришлось использовать foreach (), поставляемый с оператором if, для зацикливания массива электронной почты. мой окончательный код выглядит так:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
if(isset($_POST['invite'])) {

// CHANGE THE TWO LINES BELOW

$to=$_POST['email'];
$subject="This is subject";
$message="This is simple text message.";
$email='[email protected]';
$header='From: '.$email."\r\n".'Reply-To: '.$email."\r\n".'X-Mailer: PHP/'.phpversion();

if (is_array($to )){
foreach($to as $value) {
@mail($value,$subject,$message,$header);
}

}
{
echo "Message sent successfully...";
}}
?>
-1

По вопросам рекламы [email protected]