Задать вопрос
@eellazy

Как сделать проверку поля на наличие данных?

Всем привет!
Как можно проверить на наличие данных форму?

Есть обработчик
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (isset($_POST['site'])) {$site = $_POST['site'];}
    if (isset($_POST['geo'])) {$geo = $_POST['geo'];}
    if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
    if (isset($_POST['email'])) {$email = $_POST['email'];}
    if (isset($_POST['formData'])) {$formData = $_POST['formData'];}

    $to = "mail@gmail.com";
    $sendfrom   = "mail@gmail.com";
    $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 = "$formData";
    $message = "$formData
 <b>Сайт:</b> $site
  <b>Геграфия рекламы:</b> $geo
   <b>email:</b> $email
<b>Телефон:</b> $phone";
    $send = mail ($to, $subject, $message, $headers);
    if ($send == 'true')
    {
        echo '<center>
 
Спасибо за отправку вашего сообщения!
 
</center>';
    }
    else
    {
        echo '<center>
 
<b>Ошибка. Сообщение не отправлено!</b>
 
</center>';
    }
} else {
    http_response_code(403);
    echo "Попробуйте еще раз";
}?>


Этот обработчик отправляет письма со ВСЕХ форм на сайте. На сайте есть разные формы к примеру н а одной форме есть все поля. На другой только email

В этом куске кода видно, что всегда отправляются надписи "сайт", "география" и так дальше.
<b>Сайт:</b> $site
  <b>Геграфия рекламы:</b> $geo
   <b>email:</b> $email
<b>Телефон:</b> $phone";


Как сделать, чтобы надписи появлялись только тогда когда есть сами данные из поля? А то получается, что если данные не заполнены то присылаются надписи
  • Вопрос задан
  • 422 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
daager
@daager
Пусть в конечных переменных хранится не значение, а строка.
Например:
if (isset($_POST['site'])) {$site = " <b>Сайт:</b>".$_POST['site'];}
Ответ написан
ewgenio
@ewgenio
Всё по чуть чуть
<code lang="php">
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (isset($_POST['site'])) {$site = '<b>Сайт:</b> '.$_POST['site'];}
    if (isset($_POST['geo'])) {$geo = '<b>Геграфия рекламы:</b> '.$_POST['geo'];}
    if (isset($_POST['phone'])) {$phone = '<b>Телефон:</b> '.$_POST['phone'];}
    if (isset($_POST['email'])) {$email = '<b>email:</b> '.$_POST['email'];}
    if (isset($_POST['formData'])) {$formData = $_POST['formData'];}

    $to = "mail@gmail.com";
    $sendfrom   = "mail@gmail.com";
    $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 = "$formData";
    $message = "$formData
	$site
	$geo
	$email
	$phone";
    $send = mail ($to, $subject, $message, $headers);
    if ($send == 'true')
    {
        echo '<center>
 
Спасибо за отправку вашего сообщения!
 
</center>';
    }
    else
    {
        echo '<center>
 
<b>Ошибка. Сообщение не отправлено!</b>
 
</center>';
    }
} else {
    http_response_code(403);
    echo "Попробуйте еще раз";
}?>
</code>
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы