Показать сообщение отдельно
  #7 (permalink)  
Старый 14.10.2016, 03:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Нужно отменять естественную отправку формы:

//либо так
$("#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.
Ответить с цитированием