Я пытаюсь выяснить 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...";
}}?>
Вам нужно создать 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...";
}
}
?>
После того, как я поборолся с этой проблемой и попытался ее решить, я понял, как это сделать. Вкратце, мне пришлось использовать 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...";
}}
?>