Hallo,
Zumindest solltest Du die Existenz von $Server abfragen. Wenn immer der 'else'-Zweig einer Abfrage ausgeführt wird, hat das meist den Grund, daß die Bedingung nicht sauber ist.
Was verstehst Du denn unter 'Existenz'? Du testest, ob der Wert der Variable *wahr* ist - nichts anderes! Den Sinn sehe ich hier ehrlich gesagt nicht.
erster Ansatz:
if ($Server ne $BadServer)
{
$url = "http://www.du-darfst.de";
}
else
{
$url = "http://www.du-nicht.de";
}
Hier wird der erste if-Zweig auch ausgeführt, wenn $Server gar keinen brauchbaren Wert besitzt.
mein Ansatz:
if (($Server) and $Server ne $BadServer)
{
$url = "http://www.du-darfst.de";
}
else
{
$url = "http://www.du-nicht.de";
}
Hier wird zuerst geprüft, ob $Server *wahr* ist, also irgendwas drinsteht, das nicht undef, "" oder 0 ist. Das meinet ich mit Existenzprüfung.
Erst wenn dies ok ist, wird noch geprüft, of $Server nicht etwa $BadServer ist.
Zugegeben, eine noch immer zu ungenaue Prüfung, aber es diente ja nur der Veranschaulichung, daß man nicht immer davon ausgehen kann, daß in Variablen auch was prüfbares drinsteht.
Aber das scheint ja voll in die Hose gegangen zu sein, das mit dem veranschaulichmachen :-(
Grüße
Klaus