Если! isset несколько условий OR

Я не могу заставить это работать для жизни меня, это PHP.

<?php
 if (!isset($_POST['ign']) || ($_POST['email'])) {

  echo "Please enter all of the values!";
    }

 else {

   echo "Thanks, " . $_POST['ign'] . ", you will recieve an email when the site is         complete!";

    }
    ?>

Я также пробовал использовать! isset дважды.

Ответ 1

isset() принимает больше, чем просто параметр, поэтому просто передайте столько переменных, сколько вам нужно проверить:

<?php
if (!isset($_POST['ign'], $_POST['email']) {
    // Rest of the code here
}
?>

Вы можете использовать empty(), но он не принимает больше переменной за раз.

Ответ 2

Вот как я решил эту проблему:

$expression = $_POST['ign'] || $_POST['email'] ;
if (!isset($expression) {
    echo "Please enter all of the values!";
}
else {
     echo "Thanks, " . $_POST['ign'] . ", you will recieve an email when the site is                              
              complete!";
}

Ответ 3

Простейший способ, которым я знаю:

<?php
if (isset($_POST['ign'], $_POST['email'])) {//do the fields exist
    if($_POST['ign'] && $_POST['email']){ //do the fields contain data
        echo ("Thanks, " . $_POST['ign'] . ", you will recieve an email when the site is complete!");
    }
    else {
        echo ("Please enter all of the values!");
    }
}
else {
    echo ("Error in form data!");
}
?>

Изменить: Исправлен код для отображения данных формы и ошибок пустых значений.

Объяснение: Первый оператор if проверяет, что представленная форма содержит два поля: ign и email. Это делается для того, чтобы остановить второй оператор if, в случае, если ign или электронная почта вообще не были переданы, от выброса ошибки (сообщение будет напечатано в журналах сервера). Второй оператор if проверяет значения ign и email, чтобы увидеть, содержат ли они данные.

Ответ 4

Try this:

<?php
 if (!isset($_POST['ign']) || isset($_POST['email'])) {
  echo "Please enter all of the values!";
    }
 else {
   echo "Thanks, " . $_POST['ign'] . ", you will recieve an email when the site is         complete!";
    }
    ?>

Ответ 5

 isset($_POST['ign'],$_POST['email']));

а затем проверьте пустые значения.

Ответ 6

Вы можете попробовать этот код:

    <?php
    if (!isset($_POST['ign'], $_POST['email']) {
        echo "Please enter all of the values!";
    } else {
   echo "Thanks, " . $_POST['ign'] . ", you will receive an email when the site is complete!";
    }
    ?>