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

Если так:

defined( '_JEXEC' ) or die;

то на клиенте должно быть так:

success: function(data) { 
    if(!!data) $(result).html(data); // Вывод текста результата отправки
    else alert('Мол фигушки вам'); //нельзя оставлять клиента в неведении
}


Это $post = (!empty($_POST)) ? true : false; полнейшая глупость, ибо empty($_POST) и возвращает булево значение, а ! это всего лишь его инвертирование. Выбросить, и проще:

if(!empty($_POST)) { //или просто if($_POST) ибо это суперглобальный массив, который всегда есть, но пустой, если не было POST запросов 
     //здесь операции
     //а выдача ответа клиенту с выходом!!!
     //if($send) {echo 'OK';} - убрать
     //else {echo '<div class="err">'.$error.'</div>';} - убрать
     //ответ клиенту
     exit(!$error ? 'OK' : '<div class="err">'.$error.'</div>'); 
}


И да, почтовые отправления так не оформляют, читайте рекомендации RFC.

Последний раз редактировалось laimas, 25.03.2016 в 06:29.
Ответить с цитированием