Получение PHP переменной из HTML <input> - PullRequest
0 голосов
/ 21 февраля 2020

Это мой первый сайт с PHP, и я делаю контактную форму, которая отправляет мне письма, используя PHP. Я хочу установить два разных сообщения:

  1. Первое сообщение отправляется, если все поля заполнены;
  2. Второе сообщение отправляется, если один из двух указанных c input с ( указан c -text-1 и указан c -text-2 ) пусты.

HTML в контакте. html

<form id="query-form" class="query-form" method="post">
  <input type="text" name="specific-text-1" placeholder="Text 1">
  <br>
  <input type="text" name="specific-text-2" placeholder="Text 2">
  <br>
  <input type="text" name="subject" placeholder="Email Subject">
  <br>
  <textarea name="message" placeholder="Message text" maxlength="700"></textarea>
  <br>
  <input type="submit" name="submit" placeholder="Send Message">
</form>

PHP в другом файле, свяжитесь. php

<?php
  if (isset($_POST['submit'])) {
  $subject = $_POST['subject'];
  $message = $_POST['message'];
  // I want $specific1 and $specific2 to be in if command
  $specific1 = $_POST['specific-text-1'];
  $specific2 = $_POST['specific-text-2'];
  $mailTo = "mail@mymail.com";

  $txt = "Message received.\n\nSpecific-text-1: ".$specific1."\n"."Specific-text-2: ".$specific2."\n\n"."Message context: \n\n".$message;
  mail($mailTo, $subject, $txt);
  }
?>

вместо $txt = "Message received...", я хочу использовать что-то вроде этого:

if (specific-text-1 == '' || specific-text-2 == '') {
  $txt = "Message2 received.\n\n"."Message context: \n\n".$message;
}
else {
  $txt = "Message received.\n\nSpecific-text-1: ".$specific1."\n"."Specific-text-2: ".$specific2."\n\n"."Message context: \n\n".$message;
}

Как мне получить PHP, чтобы узнать, если specific-text-1 или specific-text-2 тексты, которые пользовательские типы являются пустыми и отправлять Message2, или если оба полные отправлять Message?

Спасибо всем большое!

1 Ответ

0 голосов
/ 21 февраля 2020

Ваше условие обратное.

Код будет проще, если вы будете строить $txt постепенно с конкатенацией.

$txt = "Message received.\n\n";
if ($specific1 != "" && $specific2 != "") {
    $txt .= "Specific-text-1: $specific1\nSpecific-text-2: $specific2\n\n";
}
$txt .= "Message context:\n\n$message";

Оператор .= добавляет строку к переменной.

Это добавит указанные c текстовые поля к почте, только если оба они заполнены пользователем.

...