if (!$a)
ist dein Freund.
Der !&a ist mein Freund, wenn die Variable nicht existiert. Die gibt's aber und ich möchte nur prüfen, ob Sie nicht evtl. leer ist oder den Wert 0 hat. Der Wert kommt aus einem Eingabefeld, das nicht leer sein darf und auch nicht 0 als Ziffer enthalten.
Warum deine Lösung nicht greift, bin ich selber grad am grübeln, evtl. hängt es an der "Veroderung" von nummerischer Variable ( ==0) und Textvariable ( =="")
Logisch ist es nicht, da ich zwei Bedingungen mit ODER verknüpfe und nur einer braucht falsch zu sein, um in den else zu gehen. Die $a=="" ist bereits die falsche Bedingung.
Hier nochmal die vereinfachte Variante zum Kopfzerbrechen:
<?
$a = "test";
if ($a==0)
echo "nicht definiert";
else
echo "definiert";
?>
Kiska