Der Martin: Formular abschicken mit Enter?

Beitrag lesen

Hallo,

http://www.netzwerk54.de/passwort.php
Beim Login Form klappt es. Bei dem Passwort Form leider nicht! (IE!!)

ja, jetzt wird mir klar, was da passiert.
Deine passwort.php wird ja einmal direkt aufgerufen, um das Formular anzuzeigen. Beim Absenden wird aber dieselbe passwort.php aufgerufen, um die Eingaben zu verarbeiten.
Also muss in passwort.php irgendeine Logik stecken, die erkennt, ob der Request durch den eigentlichen Seitenaufruf oder durch das Absenden des Formulars erfolgt. Es scheint, dass dieses Script dazu einfach abfragt, ob $_POST['passwort'] existiert - dein Submit-Button.
Klickt man nun auf den Submit-Button, enthält $_POST[] das name-value-Paar dieses Buttons. Drückt man nur einfach die Enter-Taste, wird dieses Paar nicht mit übertragen.

Deine index.php, die du zum Login aufrufst, braucht so eine Unterscheidung nicht zu treffen, weil sie *immer* per POST beim Absenden des Login-Formulars aufgerufen wird.

Mein Vorschlag: Stelle die Abfrage in der passwort.php so um, dass sie nicht die Existenz bestimmter Schlüssel abfragt, sondern die Request-Methode (POST oder GET). Das dürfte in diesem Fall eindeutig genug sein.

So long,
 Martin

--
Lieber blau machen, als sich schwarz ärgern.