dedlfix: Reload bei mehrseitigem Formular

Beitrag lesen

echo $begrueszung;

Wenn ich das nun richtig verstanden habe, wird mein $_POST['Languages'] == "selected.." in ein "TRUE" umgewandelt. Ist es denn nicht so, dass ich mit ! dieses TRUE negiere,... womit dieses "FALSE" wird?

Ja, so ist es _nicht_. Zuerst wirkt der Negator ! auf das $_POST['Languages'] (nur auf dieses!) dann erst kommt das == mit dem "selected.." an die Reihe.

Falls dir das auch noch nicht klar ist: $_POST ist nach dem Reload ein leeres Array, ein Element mit dem Key 'Languages' existiert nicht[1], da dein Formular in dem Fall nicht abgesendet wurde. $_POST['Languages'] liefert NULL zurück und das entspricht false.

Wenn dem nicht so ist,.... wie sonst kann ich dem gleichen Ergebnis gelangen?

O.K. Wenn dir der W(L)ink mit dem Zaunpfahl noch nicht gereicht hat... :-)

Entweder du sorgst mittels Klammerung für die gewünschte Auswerte-Reihenfolge oder du verwendest statt == den Vergleichs-Operator der auf ungleich testet: !=
(Letzeres ist die übersichtlichere Variante.)

echo "$verabschiedung $name";

[1] Dies würde dir auch ein eingeschaltetes error_reporting(E_ALL); sagen.