@MegaPuxapb

PHPmailer, не отправлять письмо, если один из $_POST[''] пустой?

Иногда приходят пустые письма, как прописать что если
$_POST['phone'] пустой, не отправлять письмо.

структура:
$title = 'Откуда: ' .  $_POST['title'] . '<br>'; //Заголовок

if ($_POST['your_device']) {
    $device = 'Устройство: ' .  $_POST['your_device'] . '<br>'; //Калькулятор, Ваше устройство
}

if ($_POST['problems_txt']) {
    $problems_txt = 'Проблема: ' . $_POST['problems_txt'] . '<br>'; //Отзыв
}

if ($_POST['name']) {
    $name = 'Имя: ' . $_POST['name'] . '<br>'; //Имя
}

if ($_POST['phone']) {
    $phone = 'Телефон: ' .  $_POST['phone'] . '<br>';//Телефон
}
  • Вопрос задан
  • 325 просмотров
Решения вопроса 1
RomaZveR
@RomaZveR
CEO AlertMoney, PHP/Golang Developer
Как правильно выше написали, лучше всегда делать проверку всех используемых переменных из $_POST.
if (empty($_POST['var'])) {
   return 'error, field var not filled';
}


empty(mixed $var)
эквивалент конструкции
if(!isset($var) || $var == false)

Даже если поле не обязательно к заполнению - делайте проверки на существование и объявляйте пустую строку если поле пустое или вообще не пришло с фронтенда:
if (empty($_POST['var1'])) {
  $_POST['var1'] = '';
}
...
$text.= $_POST['var1'];
...


Ну и делайте дополнительно валидацию формы на фронтенде js'ом (это не снимает необходимость проверок на бекенде!!!)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы