Warum zieht die "else" Anweisung nicht

Könnt ihr mir sagen warum die Variable nie auf false springt, obwohl das gesamte Licht aus ist ?
HAb echt keine Ahnung mehr.

<?

//Steuerung der Variable Licht

$Arbeitlinks = GetValue (31987 /*[Geräteverwaltung\Wohnung Eltern\Arbeitszimmer\Licht linke Seite\Status]*/);
$Arbeitrechts = GetValue (38960 /*[Geräteverwaltung\Wohnung Eltern\Arbeitszimmer\Licht rechte Seite\Status]*/);
$badlinks = GetValue (48444 /*[Geräteverwaltung\Wohnung Eltern\Badezimmer\Licht links\Status]*/);
$badrechts = GetValue (46650 /*[Geräteverwaltung\Wohnung Eltern\Badezimmer\Licht rechts\Status]*/);
$Wohnschrank =GetValue (36298 /*[Geräteverwaltung\Wohnung Eltern\Wohnzimmer\Schrankbeleuchtung\Status]*/);

if ($Arbeitlinks and $Arbeitrechts and $badlinks and $badrechts and $Wohnschrank = false )

{

SetValueBoolean(17004 /*[Visualisierung Wohnung Eltern\Eingangsbereich\Statusvariablen\Status Wohnung\Status Licht]*/, false);
echo $Arbeitlinks;
echo $Arbeitrechts;
echo $badlinks;
echo $badrechts;
echo $Wohnschrank;

}

else

{
SetValueBoolean(17004 /*[Visualisierung Wohnung Eltern\Eingangsbereich\Statusvariablen\Status Wohnung\Status Licht]*/, true);
echo $Arbeitlinks;
echo $Arbeitrechts;
echo $badlinks;
echo $badrechts;
echo $Wohnschrank;
}

//Steuerung der Variable Licht (ende)
?>

So passt der Vergleich nicht ;), versuch es wie unten


if ($Arbeitlinks and $Arbeitrechts and $badlinks and $badrechts and $Wohnschrank)

{

SetValueBoolean(17004 /*[Visualisierung Wohnung Eltern\Eingangsbereich\Statusvariablen\Status Wohnung\Status Licht]*/, true);

}

else

{
SetValueBoolean(17004 /*[Visualisierung Wohnung Eltern\Eingangsbereich\Statusvariablen\Status Wohnung\Status Licht]*/, false);
} 

Wobei das auch nicht zum gewünschten Ergebnis führen wird :eek:.

Mit „OR“ wird daswohl eher etwas. Kommt darauf an, was genau du eigentlich auswerten möchtest.

der Klassiker:

$Wohnschrank = false

$Wohnschrank == false