Как отправить форму игнорирую пустое поле?

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
    if (isset($_POST['name'])) {$name = $_POST['name'];}
    if (isset($_POST['day'])) {$day = $_POST['day'];}
    if (isset($_POST['time'])) {$time = $_POST['time'];}
    if (isset($_POST['avto'])) {$avto = $_POST['avto'];}
    if (isset($_POST['option_dop1'])) {$option_dop1 = $_POST['option_dop1'];}
    if (isset($_POST['option_dop2'])) {$option_dop2 = $_POST['option_dop2'];}
    if (isset($_POST['option_dop3'])) {$option_dop3 = $_POST['option_dop3'];}
    if (isset($_POST['data_do'])) {$data_do = $_POST['data_do'];}
    if (isset($_POST['data_po'])) {$data_po = $_POST['data_po'];}
    if (isset($_POST['mesto'])) {$mesto = $_POST['mesto'];}
    if (isset($_POST['address'])) {$address = $_POST['address'];}
    if (isset($_POST['mesto_s'])) {$mesto_s = $_POST['mesto_s'];}
    if (isset($_POST['address_s'])) {$address_s = $_POST['address_s'];}
    if (isset($_POST['formData'])) {$formData = $_POST['formData'];}
    $to = "kna4er76@gmail.com"; /*Адрес, на который должно приходить письмо*/
    $sendfrom   = "tenderklass@yandex.ru"; /*Адрес, с которого будет приходить письмо*/
    $headers  = "From: " . strip_tags($sendfrom) . "\r\n";
    $headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html;charset=utf-8 \r\n";
    $subject = "Заявка с сайта Тендерный отдел";
    $message = "<b>Тема:</b> $formData \n \n <br>";
    if (isset($name))
    {
    $message = $message."<b>Имя:</b> ". htmlspecialchars($name)." \n \n <br>";
    }
    if (isset($phone))
    {
    $message = $message."<b>Телефон:</b> ". htmlspecialchars($phone)." \n \n <br>";
    }
    if (isset($day))
    {
    $message = $message."<b>Срок аренды:</b> ". htmlspecialchars($day)." \n \n <br>";
    }
    if (isset($avto))
    {
    $message = $message."<b>Автомобиль</b> ". htmlspecialchars($avto)." \n \n <br>";
    }
    if (isset($option_dop1))
    {
    $message = $message."<b>Дополнительные опции:</b> ". htmlspecialchars($option_dop1)." \n \n <br>";
    }
    if (isset($option_dop2))
    {
    $message = $message."<b>Дополнительные опции:</b> ". htmlspecialchars($option_dop2)." \n \n <br>";
    }
    if (isset($option_dop3))
    {
    $message = $message."<b>Дополнительные опции:</b> ". htmlspecialchars($option_dop3)." \n \n <br>";
    }

     if (isset($data_do))
    {
    $message = $message."<b>Дата начала аренды:</b> ". htmlspecialchars($data_do)." \n \n <br>";
    }
     if (isset($data_po))
    {
    $message = $message."<b>Дата окончания аренды:</b> ". htmlspecialchars($data_po)." \n \n <br>";
    }
     if (isset($mesto))
    {
    $message = $message."<b>Откуда хотите забрать автомобиль?:</b> ". htmlspecialchars($mesto)." \n \n <br>";
    }
      if (isset($address))
    {
    $message = $message."<b>Откуда хотите забрать автомобиль?(Адрес):</b> ". htmlspecialchars($address)." \n \n <br>";
    }
      if (isset($mesto_s))
    {
    $message = $message."<b>Где хотите сдать автомобиль?:</b> ". htmlspecialchars($mesto_s)." \n \n <br>";
    }
      if (isset($address_s))
    {
    $message = $message."<b>Где хотите сдать автомобиль?(Адрес):</b> ". htmlspecialchars($address_s)." \n \n <br>";
    }




    $message .= '<b>Заявка пришла со страницы:</b> ' . $_SERVER["HTTP_REFERER"] .'<br>'; 

    $send = mail ($to, $subject, $message, $headers);
    if ($send == 'true')
    {
    echo '';
    }
    else 
    {
    echo '<center><p class="fail"><b>Ошибка. Сообщение не отправлено!</b></p></center>';
    }
} else {
    http_response_code(403);
    echo "Попробуйте еще раз";
}
?>


Как сделать чтобы при отправке формы пустые поля не приходили в письме?
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
RomaZveR
@RomaZveR
CEO AlertMoney, PHP/Golang Developer
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
	if (!empty($_POST['formData'])) {
		$formData = $_POST['formData'];
	}else{
		$formData = 'Без темы';
	}
	$to = "kna4er76@gmail.com"; /*Адрес, на который должно приходить письмо*/
	$sendfrom = "tenderklass@yandex.ru"; /*Адрес, с которого будет приходить письмо*/
	$headers = "From: " . strip_tags($sendfrom) . "\r\n";
	$headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
	$headers .= "MIME-Version: 1.0\r\n";
	$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
	$subject = "Заявка с сайта Тендерный отдел";
	$message = "Тема: $formData \n \n ";
	if (!empty($_POST['name'])) {
		$message .= "Имя: ". htmlspecialchars($_POST['name'])." \n \n";
	}
	if (!empty($_POST['phone'])) {
		$message .= "Телефон: ". htmlspecialchars($_POST['phone'])." \n \n ";
	}
	if (!empty($_POST['day'])) {
		$message .= "Срок аренды: ". htmlspecialchars($_POST['day'])." \n \n ";
	}
	if (!empty($_POST['avto'])) {
		$message .= "Автомобиль ". htmlspecialchars($_POST['avto'])." \n \n ";
	}
	if (!empty($_POST['option_dop1'])) {
		$message .= "Дополнительные опции: ". htmlspecialchars($_POST['option_dop1'])." \n \n ";
	}
	if (!empty($_POST['option_dop2'])) {
		$message .= "Дополнительные опции: ". htmlspecialchars($_POST['option_dop2'])." \n \n ";
	}
	if (!empty($_POST['option_dop3'])) {
		$message .= "Дополнительные опции: ". htmlspecialchars($_POST['option_dop3'])." \n \n ";
	}

	if (!empty($_POST['data_do'])) {
		$message .= "Дата начала аренды: ". htmlspecialchars($_POST['data_do'])." \n \n ";
	}
	if (!empty($_POST['data_po'])) {
		$message .= "Дата окончания аренды: ". htmlspecialchars($_POST['data_po'])." \n \n ";
	}
	if (!empty($_POST['mesto'])) {
		$message .= "Откуда хотите забрать автомобиль?: ". htmlspecialchars($_POST['mesto'])." \n \n ";
	}
	if (!empty($_POST['address'])) {
		$message .= "Откуда хотите забрать автомобиль?(Адрес): ". htmlspecialchars($_POST['address'])." \n \n ";
	}
	if (!empty($_POST['mesto_s'])) {
		$message .= "Где хотите сдать автомобиль?: ". htmlspecialchars($_POST['mesto_s'])." \n \n ";
	}
	if (!empty($_POST['address_s'])) {
		$message .= "Где хотите сдать автомобиль?(Адрес): ". htmlspecialchars($_POST['address_s'])." \n \n ";
	}

	$message .= 'Заявка пришла со страницы: ' . $_SERVER["HTTP_REFERER"]; 

	if (mail($to, $subject, $message, $headers)) {
		echo 'Отправлено';
	} else {
		echo 'Ошибка. Сообщение не отправлено!';
	}
} else {
	http_response_code(403);
	echo "Попробуйте еще раз";
}
?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
gobananas
@gobananas
finishhim.ru
Если я верно понял:
if (isset($address_s))
{
    $message = $message."Где хотите сдать автомобиль?(Адрес): ". htmlspecialchars($address_s)." \n \n";
} else {
   $message = '';
}
Ответ написан
Ваш ответ на вопрос

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

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