У меня есть HTML-форма, которая при отправке проходит через обработчик электронной почты PHP. Все работает хорошо, за исключением того, что, когда письмо доставлено, оно показывает все поля, включая пустые. Мне бы хотелось, чтобы отображались только поля, которые заполнены.
Я настроил оператор IF, который проверяет, чтобы видеть переменную! Null для отображения в электронном письме, если оно пустое, а не для отображения. Это работает в определенной степени. Он предотвращает отображение первого встречного поля, которое является пустым, для отображения в электронном письме, но затем запрещает показ других допустимых полей. Я считаю, что это синтаксическая ошибка с моей стороны.
<?php
$company_name = $_REQUEST['company_name'];
$contact = $_REQUEST['contact'];
$delivery_date = $_REQUEST['delivery_date'];
$delivery_time = $_REQUEST['delivery_time'];
$delivery_address = $_REQUEST['delivery_address'];
$phone = $_REQUEST['phone'];
$special_instruction = $_REQUEST['special_instruction'];
$email = $_REQUEST['email'];
$payment = $_REQUEST['payment'];
$mail->Body = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<p>
<strong>Company Name:</strong> <span style="color:red;">'.$company_name.'</span><br />';
if(!is_null($contact)){echo'<strong>Contact:</strong> <span style="color:red;">'.$contact.'</span><br />';};
'<strong>Delivery Date:</strong> <span style="color:red;">'.$delivery_date.'</span><br />
<strong>Delivery Time:</strong> <span style="color:red;">'.$delivery_time.'</span><br />
<strong>Delivery Address:</strong> <span style="color:red;">'.$delivery_address.'</span><br />
<strong>Phone:</strong> <span style="color:red;">'.$phone.'</span><br />
<strong>Special Instruction:</strong> <span style="color:red;">'.$special_instruction.'</span><br />
<strong>Email:</strong> <span style="color:red;">'.$email.'</span><br />
<strong>Type of Payment:</strong> <span style="color:red;">'.$payment.'</span><br />
</p>
</body>
</html>';
?>
Поле "Контакт" иногда заполняется, но не всегда. Я пытаюсь настроить PHP для отображения информации, только если поле имеет данные, отправленные в него. Результаты должны выглядеть примерно так, если в поле «Контакт» нет данных:
* Общая информация *
Название компании: Bl
Дата доставки: 01/03/2019
Срок поставки: 12: 00
Адрес доставки: Тестер
Телефон: 763601789
E-mail: Test@yahoo.com
Вид оплаты: Mastercard
Результаты должны выглядеть следующим образом, если заполнено поле «Контакт»:
* Общая информация *
Название компании: Bl
Контакт: Guy Tester
Дата доставки: 01/03/2019
Срок поставки: 12: 00
Адрес доставки: Тестер
Телефон: 763601789
Специальная инструкция: Справка
Электронная почта: Test@yahoo.com
Вид оплаты: Mastercard
В настоящее время результаты выглядят так:
* Общая информация *
Название компании: Test