Показать сообщение отдельно
  #4 (permalink)  
Старый 14.05.2017, 11:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

$.ajax({type: "POST", а проверяем if ( $method === 'POST' ) } else if ( $method === 'GET' ), это что?

Ваша задача принять и отправить принятое почтой. Чтобы ее отправить какие данные для этого обязательно нужны? Если $admin_email задается формой, то почему не проверятся заполнено ли этого поле и не просто заполнено, а действительно это адрес почты?

Наверное же эта проверка первичная, у вас же не понять для чего вот это

foreach ( $_POST as $key => $value) {
if ( $value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject" )

что ну никак не выполняет требуемые условия.

Если клиенту определен метод оправки формы POST, то ни о каких GET и речи быть не должно, а если пришло, значит левая форма.

if($post = array_diff(array_map('trim', $_POST), [''])) {
    //массив не пуст, проверяем наличие обязательных полей
    //и только если они есть и корректные формируем почтовое отправление
} else {
    //ошибки заполнения формы, действия
}
Ответить с цитированием