Несколько запросов isset в одном цикле if

Я пытаюсь получить следующий запрос:
Если существует значение A и значение B OR, если есть значение A OR, если есть значение B —-> DO SOMETHING

if((isset($_POST['A'], $_POST['B'])) OR !empty($_POST['B']) OR !empty($_POST['A']))
{
echo "there is something:" . $_POST['B'] . ", " . $_POST['A'];
}
else
{
echo "its empty<br />";
}

Когда в одном из полей значение работает правильно, но когда у нас пусто, оба поля все еще очевидно, что что-то существует.

Разве вино может лежать с автозаполнением?

$checkVIN1 = mysql_query("SELECT vhl_vin FROM vhldescription");
$num_rows = mysql_num_rows($checkVIN1);
$i = 0;
echo "<script>$(function() {var availableTags = [";
while($checkVIN2 = mysql_fetch_array($checkVIN1, MYSQL_ASSOC))  {   $i++;   echo "\"" . <br />$checkVIN2['vhl_vin'] . "\",";
if ($i == ($num_rows))  {   echo "\"" . $checkVIN2['vhl_vin'] . "\"";   }   }
echo "];$( \"#tags\" ).autocomplete({source: availableTags});});</script>";
<input id="tags" name="A" class="le-input">

-1

Решение

Как насчет этого?

<?php
$a;
$b;if((isset($a) or isset($b)) and !(empty($a) or empty($b))){
echo "do something";
}else{
echo "do nothing";
}
0

Другие решения

Попробуйте изменить свой код на это:

$postVars = array('A', 'B');
$things = array();
foreach($postVars as $postVar) {
if( isset($_POST[$postVar]) && !empty($_POST[$postVar]) )
{
$things []= $_POST[$postVar];
}
}

if( empty($things) ) {
echo "it's empty<br />";
} else {
echo "there is something: ". join(', ', array_map(function($str) {
return htmlspecialchars($str, ENT_NOQUOTES, 'UTF-8');
},
$things)) . '.';
}
0