Если! 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!";
}
?>