@rinatoptimus

Как отправить данные из нескольких полей?

Есть форма с кнопкой, которая добавляет на страницу еще одну такую же форму. У всех селектов и инпутов в этих формах одни и те же имена. В результате на почту отсылается только то, что введено в последней форме.
<?php
if(!isset($_POST['submit']))
{
	//This page should not be accessed directly. Need to submit the form.
	echo "error, you need to submit the form!";
}
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$message = $_POST['message'];
$phone = $_POST['phone'];
$address = $_POST['address'];
$deliveryTime = $_POST['deliveryTime'];
$quantity = $_POST['quantity'];
$firstDish = $_POST['firstDish'];
$secondDish = $_POST['secondDish'];
$thirdDish = $_POST['thirdDish'];
$fourthDish = $_POST['fourthDish'];
$fifthDish = $_POST['fifthDish'];
$quantityBread = $_POST['quantityBread'];

//Validate first
if(empty($name)||empty($visitor_email)) 
{
    echo "Поля Имя и email обязательны!";
    exit;
}
if(IsInjected($visitor_email))
{
    echo "Неправильно введен адрес электронной почты!";
    exit;
}

$email_from = 'mail@mail.com';

$email_subject = "Новое сообщение";
$email_body = "У вас новое сообщение от $name.\n".

    "Кол-во: $quantity \n".
    "Первое блюдо: $firstDish \n".
    "Второе блюдо: $secondDish \n".
    "Гарнир: $thirdDish \n".
    "Салат: $fourthDish \n".
    "Хлеб: $fifthDish \n".
    "Кол-во хлеба: $quantityBread \n".

    "Телефон: $phone \n".
    "Адрес доставки: $address \n".
    "Желаемое время доставки: $deliveryTime \n".
    "Комментарий: $message \n";


$to = "mail@mail.com, mail@yandex.ru";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
//Send the email!
mail($to,$email_subject,$email_body,$headers);
//done. redirect to thank-you page.
header('Location: thank-you.html');

function IsInjected($str)
{
  $injections = array('(\n+)',
              '(\r+)',
              '(\t+)',
              '(%0A+)',
              '(%0D+)',
              '(%08+)',
              '(%09+)'
              );
  $inject = join('|', $injections);
  $inject = "/$inject/i";
  if(preg_match($inject,$str))
    {
    return true;
  }
  else
    {
    return false;
  }
}
?>

Наверно, как-то надо сделать так, чтобы получался массив из значений. Вот страница.
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Zaymigo Нижний Новгород
от 20 000 до 100 000 руб.
Devmasterz Тюмень
от 80 000 до 120 000 руб.
16 июля 2018, в 20:00
5000 руб./за проект
16 июля 2018, в 18:53
8000 руб./за проект