Прошу помощи с формой обратной связи 
		
		
		
		Дорогие форумчане, прошу помощи.  
	Есть форма обратной связи (код ниже), все работает, но я добавил в нее еще одно поле " <input type="text" placeholder="Ваше сообщение" name="mesg" id="mesg" class="input_text"/>" и никак не могу понять, как его прописать в файле параметров и feedback.php, чтобы сообщение приходило вместе с этим полем. Сейчас мне приходит сообщение в следующем виде: Адрес моего сайта name : имя отправителя фидбэка phone: номер отправителя фидбэка *(вот от этих "name:" и "phone:" я бы тоже хотел избавиться) Мне необходимо получить следующий вид сообщения: Адрес моего сайта Имя отправителя фидбэка Номер отправителя фидбэка <br> Сообщение отправителя Я новичок, а тут какой-то странный код обратки :blink: , никак не могу понять что откуда берется и куда отправляется. Буду очень благодарен! Далее код: 
<form method="post" id="form-feedback">
        <input type="text" placeholder="Ваше имя" name="name" id="name" class="input_text"/>
        <div id="bthrow_error_name"></div>
        <input type="text" placeholder="Контактный телефон" name="phone" id="phone" class="input_text"/>
        <div id="bthrow_error_phone"></div>
        <input type="text" placeholder="Ваше сообщение" name="mesg" id="mesg" class="input_text"/>
         
 
        <input class="button" type="submit" value="Отправить заявку" />
        <div class="throw_error"></div>
    </form>
Для нее есть следующие параметры: 
$("#form-feedback").submit(function(event) {
			 
			        if ($('#name').val() == "")
			            {
			                $('#bthrow_error_name').fadeIn(1000).html('Представьтесь, пожалуйста.');
			            }
			        else if 
			        	($('#phone').val() == "")
			            {
			                $('#bthrow_error_name').empty();
			                $('#bthrow_error_phone').fadeIn(1000).html('Как с Вами связаться?');
			            }
			        else
			            {
			                var postForm = {
			                    'name'  : $('#name').val(),
			                    'phone'  : $('#phone').val()
			                     
			                };
			 
			                $.ajax({
			                    type        : 'POST',
			                    url         : 'feedback.php',
			                    data        : postForm,
			                    dataType    : 'json',
			                    success     : function(data)
			                        {
			                            if (!data.success)
			                                {
			                                    if (data.errors.name)
			                                        {
			                                            $('.throw_error').fadeIn(1000).html(data.errors.name);
			                                        }
			                                }
			                            else
			                                {
			                                    $('#form-feedback').fadeIn(1000).html('<p>' + data.posted + '</p>');
			                                }
			                        }
			                });
			            }
			 
			        event.preventDefault();
			 
			    });
А также 
$(function() {
    $('#popupbutton').fancybox({
        'padding': 37,
        'overlayOpacity': 0.87,
        'overlayColor': '#fff',
        'transitionIn': 'none',
        'transitionOut': 'none',
        'titlePosition': 'inside',
        'centerOnScroll': true,
        'maxWidth': 400,
        'minHeight': 310
    });
    $('#phone').mask('0 (000) 000-00-00');
    $("#form-feedback").submit(function(event) {
        if ($('#name').val() == "")
            {
                $('#bthrow_error_name').fadeIn(1000).html('Представьтесь, пожалуйста.');
            }
        else if ($('#phone').val() == "")
            {
                $('#bthrow_error_name').empty();
                $('#bthrow_error_phone').fadeIn(1000).html('Как с Вами связаться?');
            }
        else if ($('#mesg').val() == "")
            {
                $('#bthrow_error_name').empty();
                 
            }
        else
            {
                var postForm = {
                    'name'  : $('#name').val(),
                    'phone'  : $('#phone').val()
                    'mesg'  : $('#mesg').val()
                };
                $.ajax({
                    type        : 'POST',
                    url         : 'feedback.php',
                    data        : postForm,
                    dataType    : 'json',
                    success     : function(data)
                        {
                            if (!data.success)
                                {
                                    if (data.errors.name)
                                        {
                                            $('.throw_error').fadeIn(1000).html(data.errors.name);
                                        }
                                }
                            else
                                {
                                    $('#form-feedback').fadeIn(1000).html('<p>' + data.posted + '</p>');
                                }
                        }
                });
            }
        event.preventDefault();
    });
});
и php: 
<?php
$errors = array();
$form_data = array();
if ($_POST['name'] == "")
    {
        $errors['name'] = 'Введите Ваше имя';
    }
if ($_POST['phone'] == "")
{
    $errors['name'] = 'Введите Ваш телефон';
}
if (!empty($errors))
    {
        $form_data['success'] = false;
        $form_data['errors']  = $errors;
    }
else
    {
        $message = "<h1>Заявка с сайта ".$_SERVER['HTTP_HOST']."</h1>";
        foreach($_POST as $k => $v)
            {
                $message .= $k.": ".$v."<br />";
            }
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=utf8' . "\r\n";
         
        if (mail('xdd24@yandex.ru', 'Заявка с сайта '.$_SERVER['HTTP_HOST'], $message, $headers))
            {
                $form_data['success'] = true;
                $form_data['posted'] = 'Наши менеджеры свяжутся с Вами в ближайшее время';
            }
        else
            {
                $errors['name'] = 'Ошибка отправки письма';
            }
    }
echo json_encode($form_data);
?>
 | 
	
		
 Зачем отправлять форму из двух обработчиков? 
	 | 
	
		
 Цитата: 
	
 как тут должно быть?  | 
	
		
 Цитата: 
	
 Строка 18, код 2 - $("#form-feedback").submit(function(event) ... отправка формы в плагине fancybox.  | 
	
		
 Цитата: 
	
  | 
	
		
 А что именно подсказать? Добавляйте обработку на сервере и добавленного поля, оно будет под ключом $_POST['mesg']. 
	 | 
	
		
 Цитата: 
	
 Я пытался добавлять так, но ничего не получалось И не вижу где тут убрать надписи "name" и "phone", которые приходят в сообщении  | 
	
		
 Цитата: 
	
 я понимаю, что тут где-то две строчки всего лишь дописать надо, но не понимаю куда и какие  | 
	
		
 В обработчике ancybox в строках 20-33 находятся условия такой проверки полей. Только нужно добавить же вывод сообщения и для поле mesg, если оно не заполнено, то тоже типа 
	
$('#bthrow_error_mesg').fadeIn(1000).html('Заполните....');
в строку 33, и добавив в форму <div id="bthrow_error_mesg"></div> Ну и на сервере 
if ($_POST['mesg'] == "")
{
    $errors['mesg'] = 'Заполните ... ';
}
Только не понятно, зачем возвращать на клиента сообщения о не заполнении полей, если клиент и сам их с успехом формирует, достаточно возвращать наличие (признак) ошибки в поле. И так не проверяют if ($_POST['mesg'] == ""), так как пробел уже не равен пустой строке, но в тоже время это ничто. Нужно убирать крайние пробелы, и лишь затем проверять пустая ли строка: 
$_POST = array_map('trim', $_POST);
//А теперь можно и
if ($_POST['name'] == "")
.....
 | 
	
		
 Цитата: 
	
 Получается, так? Код: HTML: <h2>Обратная связь</h2> <div class="comment"></div> <form method="post" id="form-feedback" > <input type="text" placeholder="Ваше имя" name="name" id="name" class="input_text"/> <div id="bthrow_error_name"></div> <br> <input type="text" placeholder="Контактный телефон" name="phone" id="phone" class="input_text"/> <div id="bthrow_error_phone"></div> <input class="button submit_callback_button_1" type="submit" value="Отправить заявку" /> <div id="bthrow_error_mesg"></div> </form> <span class="under-form"></span> JS: 
$('#phone').mask('0 (000) 000-00-00');
					$("#form-feedback").submit(function(event) {
			 
			        if ($('#name').val() == "")
			            {
			                $('#bthrow_error_name').fadeIn(1000).html('Представьтесь, пожалуйста.');
			            }
			        else if 
			        	($('#phone').val() == "")
			            {
			                $('#bthrow_error_name').empty();
			                $('#bthrow_error_phone').fadeIn(1000).html('Как с Вами связаться?');
			            }
			        else if 
			        	($('#mesg').val() =="")
			        	{
			        		$('#bthrow_error_mesg').fadeIn(1000).html('Пожалуйста, напишите сообщение');
			        	}
			        else
			            {
			                var postForm = {
			                    'name'  : $('#name').val(),
			                    'phone'  : $('#phone').val()
			                    'mesg'  : $('#mesg').val()
			                     
			                };
			 
			                $.ajax({
			                    type        : 'POST',
			                    url         : 'feedback.php',
			                    data        : postForm,
			                    dataType    : 'json',
			                    success     : function(data)
			                        {
			                            if (!data.success)
			                                {
			                                    if (data.errors.name)
			                                        {
			                                            $('.throw_error').fadeIn(1000).html(data.errors.name);
			                                        }
			                                }
			                            else
			                                {
			                                    $('#form-feedback').fadeIn(1000).html('<p>' + data.posted + '</p>');
			                                }
			                        }
			                });
			            }
			 
			        event.preventDefault();
			 
			    });
PHP: 
<?php
$errors = array();
$form_data = array();
if ($_POST['name'] == "")
    {
        $errors['name'] = 'Введите Ваше имя';
    }
if ($_POST['phone'] == "")
{
    $errors['name'] = 'Введите Ваш телефон';
}
if ($_POST['mesg'] == "")
{
$errors['mesg'] = 'Пожалуйста, напишите сообщение';
}
if (!empty($errors))
    {
        $form_data['success'] = false;
        $form_data['errors']  = $errors;
    }
else
    {
        $message = "<h1>Заявка с сайта ".$_SERVER['HTTP_HOST']."</h1>";
        foreach($_POST as $k => $v)
            {
                $message .= $k.": ".$v."<br />";
            }
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=utf8' . "\r\n";
         
        if (mail('xdd24@yandex.ru', 'Заявка с сайта '.$_SERVER['HTTP_HOST'], $message, $headers))
            {
                $form_data['success'] = true;
                $form_data['posted'] = 'Благодарим за обращение! Наши менеджеры свяжутся с Вами в ближайшее время';
            }
        else
            {
                $errors['name'] = 'Ошибка отправки письма';
            }
    }
echo json_encode($form_data);
?>
 | 
	
		
 я тут в HTML напутал, вот это будет, так ведь?  
	<h2>Обратная связь</h2> <div class="comment"></div> <form method="post" id="form-feedback"> <input type="text" placeholder="Ваше имя" name="name" id="name" class="input_text"/> <div id="bthrow_error_name"></div> <input type="text" placeholder="Контактный телефон" name="phone" id="phone" class="input_text"/> <div id="bthrow_error_phone"></div> <input type="text" placeholder="Ваше сообщение" name="mesg" id="mesg" class="input_text"/> <div id="bthrow_error_mesg"></div> <input class="button" type="submit" value="Отправить заявку" /> <div class="throw_error"></div> </form>  | 
	
		
 Ну я же написал, что перед тем как проверять на сервере, да и на клиенте тоже самое, пуста или нет строка, ее нужно очистить от крайних пробелов, вот так 
	$_POST = array_map('trim', $_POST); - это нужно добавить в php-код до строки 6, и только после этого проверка if ($_POST['name'] == "") и далее. Ну я же не буду переписывать весь ваш код, чтобы вам ответить по нему скакать приходится, еще и мне повторять. 'Представьтесь, пожалуйста.', 'Как с Вами связаться?', 'Пожалуйста, напишите сообщение' - собственно и достаточно чтобы дать понять пользователю, что поле не заполнено, слать еще с сервера более грозные сообщения нет смысла. Поля сообщений о незаполненных полях имеют id bthrow_error_phone, а значит серверу достаточно вернуть ключи полей в которые на заполнены, и тогда вывод будет следующим, заменить: строку 39 JS if ( на if (data.errors) а строку 41 на 
$(data.errors.map(function(n) {
    return '#bthrow_error_'+n;
})
.join(','))
.empty()
.fadeIn(1000)
.html('Заполните....');
Ну или оставьте как есть, то есть сервер возвращает сообщения ошибок, только вывод их должен быть в цикле, так как могут быть не заполнены все поля. Проверять на пустоту поле на клиенте нужно также убирая пробелы крайние: 
if($.trim($('#phone').val()) == "") ...
PS. Кодировка указанная для почтового сообщения не затрагивает поле subject, и кому повезет, тот прочтет, а кому нет, получит не читаемое. Кодировать нужно это поле: 
mail('xdd24@yandex.ru', '=?utf-8?b?' . base64_encode('Заявка с сайта '.$_SERVER['HTTP_HOST']) . '?=', $message, $headers)
 | 
	
		
 Цитата: 
	
 но у меня почему то всё перестало работать буду разбираться запихнул форму в попап вчера - работала сегодня в другой попап - перестала...  | 
	
		
 Зачем вы цитируете полностью то, что я пишу, вы думаете я страдаю склерозом? :) 
	Цитата: 
	
 Вот тут я пас - в какие попапы вы пихаете мне неведомо, где конкретно заменить строку я пишу, но многое это как можно было бы сделать, и если делать, то сперва надо понять как работает, иначе и не будет, если как есть впихнуть. Например, если не возвращает сервер сообщения об ошибках, и оно будет одно и тоже у не заполненных полей, и определяемое клиентом, как я написал, то нужно еще и управлять таким сообщением. Эти сообщения должны исчезать, если соответствующее поле получило фокус. При отправке формы и пустых полях клиент опять будет выводить сообщения, но которые у вас определены в условиях.  | 
	
		
 в любом случае, спасибо большое за разъяснения  
	буду разбираться  | 
| Часовой пояс GMT +3, время: 13:45. |