Нужно отменять естественную отправку формы:
//либо так
$("#form").submit(function(e) { /
e.prevetDefault();
.....
});
//либо так
$("#form").submit(function(e) {
.....
return false
});
Сообщение от Ramzes94
|
php выполняет свою работу
|
Если бы вы хоть его код написали как положено, а так и в нем полный бардак. $subject = 'Заявка на вступление в клуб экспертов'; - не есть гарантия того, что его прочтут, тему сообщения кодируют.
Content-type:
text/html;, а в теле </p>
\n<p> - нет в html никаких \r\n или \n, они игнорируются.
!empty($_POST['name1'])&&!empty($_POST['email1'])....
$var = ' ';
echo !empty($var) ? 'Пусто' : 'Ок';
И будет ОК. Удалять нужно крайние пробелы всегда, прежде чем производить проверку, для одномерного массива это можно сделать обходом array_map(), для многомерного array_walk_recursive().
Методично проверять каждую переменную в портянке If не обязательно, можно проверить после trim наличие одного пустого поля.
Отправляя сообщение как html, текст сообщения пользователя обязательно пропускать через htmlspecialchars.