Это код, который я использую сейчас, и он отлично работает.
<?php
if(!isset($_POST['submit']))
{
//This page should not be accessed directly. Need to submit the form.
echo "error; you need to submit the form!";
};
$from = "[email protected]";
$to = "[email protected]";
$subject = "Customer Order";
$message = "{$_POST['name']}
{$_POST['message']}
{$_POST['item1']} -Item 1
{$_POST['item2']} -Item 2";
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);
header('Location: thank-you1.html');
?>
Когда я получу отправленное электронное письмо, независимо от того, было ли введено количество для ‘item1’ или ‘item2’, в электронном письме будет показано
-Пункт 1
-Пункт 2
Как мне расположить эти метки, чтобы они появлялись только тогда, когда в поле qty есть значение.
Посмотрите, были ли установлены переменные элемента в вашей форме, прежде чем добавлять их в составляемое электронное письмо.
<?php
if(!isset($_POST['submit']))
{
//This page should not be accessed directly. Need to submit the form.
echo "error; you need to submit the form!";
};
$from = "[email protected]";
$to = "[email protected]";
$subject = "Customer Order";
$message = $_POST['name'] .
$_POST['message'];
if (isset($_POST['item1'])) {
$message .= $_POST['item1'];
}
if (isset($_POST['item2']) {
$message .= $_POST['item2'];
}
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);
header('Location: thank-you1.html');
Вы можете изменить $ сообщение в следующем формате
$message = "{$_POST['name']}";
$message .= "{$_POST['message']}";
if(isset($_POST['item1']) & !empty($_POST['item1'])) {
$message .= "{$_POST['item1'] -Item 1}";
}
if(isset($_POST['item2']) & !empty($_POST['item2'])) {
$message .= "{$_POST['item2'] -Item 2}";
}