Ну так исправляйте, ответ "как" кроется в вашем же вопросе, в коде, и в ответе "и со второй, где пустые значения". Серверу должны отправляться данные только той форму, которая отправляется в текущее время, а не со всех собрать все в кучу. НУ что это за бред такой.
Затем, я не знаю, что проверяет вот эта хрень jqBootstrapValidation, но она будет хренью до тех пор, пока вы не поймете, что ее назначение, это сервис на клиенте, а действительную и обязательную проверку данных должен производить сервер. Вы этого вообще не делаете. Да вас хостер изнасилует за такое отношение к порту 25, так как ваш код позволяет отправлять почту на кучу адресов.
Как и клиент должен отправлять данные только одной формы, так и сервер должен иметь код одного почтового отправления, а не кучи, в которых вы сознательно и мусор отправляете.
У вас же формы практически одинаковы, если требуется их различать для чего либо, добавьте скрытое поле, по которому и идентифицируйте их. Если этого не требуется, то данные формы, это массив, имена полей, это ключи, а значит за каждым ключом на сервере можно закрепить правило проверки данных этого ключа (поля формы), и сформировать почтовое отправление.
На клиенте вот начиная с этого
var name = $('input[name="name"]').val();
и кончая вот этим
if (firstName.indexOf(' ') >= 0) {
firstName = name.split(' ').slice(0, -1).join(' ');
}
выбросить, и если в методе плагина submitSuccess: function($form, event)
$form - это форма, ее поля и отправлять, вот тут как
data: $form.serialize(),
а
{
name: name,
name2: name2,
email: email,
phone: phone,
phone2: phone2,
coment: coment,
day: day,
message: message,
message2: message2
}
выбросить. Зачем вот эта магия firstName = name.split(' ').slice(0, -1).join(' ');, я ума не приложу, но если так хочется, то это можно и на сервере сделать.
|