Форма обратной связи php на html страничке (что то не так при отправке из формы)

Вопрос простенький по идее, не изучал php, поэтому прошу помощи. Сайт исключительно html\css. Есть скрипт который оправляет на почту несколько введённых параметров из формы. Выглядит скрипт вот так:

<?php

$to = 'info@***'; // please change this email id

$errors = array();
// print_r($_POST);

// Check if name has been entered
if (!isset($_POST['subject'])) {
 $errors['subject'] = 'Выберите отдел для связи';
}

// Check if email has been entered and is valid
if (!isset($_POST['name'])) {
 $errors['name'] = 'Введите ваше имя';
}

//Check if message has been entered
if (!isset($_POST['phone'])) {
 $errors['phone'] = 'Введите номер телефона';
}

$errorOutput = '';

if(!empty($errors)){

 $errorOutput .= '<div class="alert alert-danger alert-dismissible" role="alert">';
 $errorOutput .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';

 $errorOutput .= '<ul>';

 foreach ($errors as $key => $value) {
 $errorOutput .= '<li>'.$value.'</li>';
 }

 $errorOutput .= '</ul>';
 $errorOutput .= '</div>';

 echo $errorOutput;
 die();
}



$subject = $_POST['subject'];
$name = $_POST['name'];
$phone = $_POST['phone'];
$from = $name;
$subject = '!!! - Site - Obratni ZVONOK';

$body = "From: $name\n Phone: $phone\n Subject:\n $subject";

$headers = "From: ".$from;


//send the email
$result = '';
if (mail ($to, $subject, $body, $headers)) {
 $result .= '<div class="alert alert-success alert-dismissible" role="alert">';
 $result .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
 $result .= 'Спасибо что выбрали нас!';
 $result .= '</div>';

 echo $result;
 die();
}

$result = '';
$result .= '<div class="alert alert-danger alert-dismissible" role="alert">';
$result .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
$result .= 'Что то пошло не так, попробуйте связаться с нами напрямую.';
$result .= '</div>';

echo $result;
die();


?>

самаже форма на html страничке выглядит вот так:


                  <form class="form rqst-form" id="requestACall" role="form" method="post" action="php/request_call.php">
                    <div class="form-group col-sm-6 col-xs-12">
                      <input class="form-control input-lg" type="text" name="name" placeholder="Имя"/>
                    </div>
                    <div class="form-group col-sm-6 col-xs-12">
                      <select class="form-control input-lg" name="subject">
                        <option value="subject1" disabled="" selected="">Выберите что интересует</option>
                        <option value="Kachestvo">Проверить качество (Отправим образец)</option>
                        <option value="Zakaz">Отдел продаж (сделать заказ)</option>
                        <option value="Rassrochka">Финансовый отдел (Рассрочка)</option>
                        <option value="Sklad">Узнать по наличию (Склад)</option>
                      </select>
                    </div>
                    <div class="form-group col-sm-6 col-xs-12">
                      <input class="form-control input-lg" type="text" name="phone" placeholder="Номер телефона"/>
                    </div>
                    <div class="form-group col-sm-6 col-xs-12">
                      <button class="btn btn-border-w btn-circle btn-block" id="racSubmit" type="submit"><i class="fa fa-paper-plane-o"></i> Отправить</button>
                    </div>
                    <div id="requestFormResponse"></div>
                  </form>

почему то при отправке, всё пишет что хорошо, однако на почту приходят только вот такие данные

From: Test
Phone: 222222222222
Subject:
!!! - Site - Obratni ZVONOK

параметр "Subject" куда то пропадает, также если не ввести имя или телефон форма уйдёт пустой однако вроде как видно что проверка ведётся на заполнение, подскажите как решить.


Ответы (2 шт):

Автор решения: Arcadiy

У вас где сабджект1, где просто сабджек. В html форме вот это

<option value="subject1" disabled="" selected="">Выберите что
интересует</option>

Поменяйте на это

<option value="subject" disabled="" selected="">Выберите что
интересует</option>
→ Ссылка
Автор решения: Max_Simm

Проблема в том, что в PHP вы неправильно обрабатываете поле "subject". Сначала вы проверяете его на наличие, используя !isset(), что абсолютно верно, но затем вы переопределяете эту переменную:

Вот эту строчку

$subject = '!!! - Site - Obratni ZVONOK';

замените на

$subject = $subject . ' !!! - Site - Obratni ZVONOK';
→ Ссылка