2014-09-30 3 views
-3

У меня есть электронная почта, которая работает отлично. Я хотел бы добавить функцию, которая, если определенные поля не заполнены, не отправляет их пустым в электронном письме. Как я могу заставить эти поля не появляться, если они не заполнены. Вот мой полный код.Условно добавление к строке в PHP

$message = 'Hello,<br /><br /> 

First Name: '.$_POST['first_name'].'<br /> 

Last Name: '.$_POST['last_name'].'<br />     

Email: '.$_POST['email'].'<br /> 

Address: '.$_POST['address'].'<br /> 

Phone: '.$_POST['phone'].'<br /> 

City: '.$_POST['city'].'<br /> 

State: '.$_POST['state'].'<br /> 

Zip Code: '.$_POST['zipcode'].'<br /> 

Country: '.$_POST['country'].'<br /> 

Preferred Method of Contact: '.$_POST['perferred'].'<br /> 

Comments/Questions:<br /> 
'.$_POST['description'].'<br /><br /> 


//This is the section I am speaking about   
Interested in: <br /> 

'.$_POST['nh_home'].'<br /> 

'.$_POST['nh_lot'].'<br /> 

'.$_POST['nh_townhouse'].'<br /> 

'.$_POST['nh_condo'].'<br /> 

'.$_POST['nh_marina'].'<br /> 

'.$_POST['nh_beachclub'].'<br /> 

'.$_POST['nh_resale'].'<br /><br /> 

// End Section   



How did you hear about us? <br /> 
'.$_POST['how_about'].'<br /> 


; 


$to  = '[email protected]'; 
$subject = 'Splash Page'; 

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; 
$headers .= 'From: Meredith Bay <[email protected]>' . "\r\n";   


$send = mail($to, $subject, $message, $headers); 


if($send){ 
header('Location: http://www.website.com/thank-you/'); 
exit; 
} 
else{ 
echo "error"; 
} 

ответ

1

Предположительно ваш более полный код выглядит следующим образом:

$email = 'some markup' . $_POST['nh_home'] . '<br />'; 
$email .= 'some markup' . $_POST['nh_lot'] . '<br />'; 
$email .= 'some markup' . $_POST['nh_townhouse'] . '<br />'; 
// etc... 

Вы можете просто ввести условные проверки между тем:

$email = ''; 
if ($_POST['nh_home']) { 
    $email .= 'some markup' . $_POST['nh_home'] . '<br />'; 
} 
if ($_POST['nh_lot']) { 
    $email .= 'some markup' . $_POST['nh_lot'] . '<br />'; 
} 
if ($_POST['nh_townhouse']) { 
    $email .= 'some markup' . $_POST['nh_townhouse'] . '<br />'; 
} 
// etc... 
+0

Спасибо, что помогли работать как шарм – user3158563

0

Просто проверьте, если значение не является пустым:

if ($_POST['nh_home'])  echo 'Home:  '.$_POST['nh_home'].'<br />'; 
if ($_POST['nh_lot'])  echo 'Lot:  '.$_POST['nh_lot'].'<br />'; 
if ($_POST['nh_townhouse']) echo 'Townhouse: '.$_POST['nh_townhouse'].'<br />'; 
if ($_POST['nh_condo'])  echo 'Condo:  '.$_POST['nh_condo'].'<br />'; 
if ($_POST['nh_marina'])  echo 'Marina: '.$_POST['nh_marina'].'<br />'; 
if ($_POST['nh_beachclub']) echo 'Beachclub: '.$_POST['nh_beachclub'].'<br />'; 
if ($_POST['nh_resale'])  echo 'Resale: '.$_POST['nh_resale'].'<br />'; 
0

Вы можете использовать

$message = 'Hello,<br /><br />'; 

if(empty($_POST['first_name'])) { 
    $message .= 'First Name: '.$_POST['first_name'].'<br />' 
} 

Это просто основной условна. Сделайте это для каждого элемента в данных POST.

+0

Я редактировал свой пост, чтобы показать мой полный код. спасибо – user3158563

+0

** См. обновление **, это должно решить вашу проблему. – OneHoopyFrood

Смежные вопросы