Algo tienes mal en el planteamiento de tu script, lo mas facil seria evitar todos esos
$variable == NULL inicializando cada una, suponiendo que vienen desde POST:
Código PHP:
Ver original// Con IF convencional:
if(isset($_POST['variable'])) $variable = $_POST['variable'];
else
$variable = 0; // Puede ser false, cadena vacia o lo que corresponda, segun el tipo
// Lo mismo, pero con asignacion ternaria:
$variable = (isset($_POST['variable'])) ?
$_POST['variable'] : 0;
// Despues solamente deberias comparar:
if($variable == $row['campo'] && bla bla bla) {
}
Por cierto, tambien deberias considerar usar
&& en vez de
AND, ya que este ultimo, segun el
manual de PHP tiene "menor peso" incluso que
|| (OR).
No, los IF no estan malditos, simplemente evaluan las comparaciones que escribimos dentro de los parentesis, si no lo hacemos bien... seguro que no funciona correctamente!