Thomas Luethi: form / submit schläft fehl

Beitrag lesen

Hallo aitee,

if (isset($_POST["vid_login_form.submit"]))

Variablennamen duerfen in PHP keinen Punkt enthalten.
http://www.php.net/manual/de/language.variables.php

Wieweit dies auf $_POST zutrifft, wo Dein komischer String
"vid_login_form.submit" ja nur noch der Schluessel eines
assoziativen Arrays ist, weiss ich allerdings nicht.

Ich vermute, Du erwartest, dass das JavaScript-Konstrukt
"vid_login_form.submit" auch mit PHP verfuegbar sei. Ist es aber nicht.
JavaScript und PHP haben zwar zum Teil eine aehnliche Syntax,
aber vieles ist eben auch verschieden.

Guck doch mal, was in $_POST alles steht:
print("<pre>");
print_r($_POST);
print("</pre>\n");

<form name="vid_login_form" action="" . $PHP_SELF . "" method="post">

Der Formular-Name ist eigentlich nur fuer JavaScript nuetzlich,
also fuer etwas, was auf dem Client passiert.
Der Server kriegt ihn nicht mit.

Statt $PHP_SELF solltest Du lieber schreiben: $_SERVER['PHP_SELF']

<input class="input" name="submit" type="submit" value="Login" style="font-size:9px; width:40px">
Kann ich mit der if Abfrage das Submit abfragen?

Du solltest den verschiedenen Submit-Buttons, verschiedene Namen geben.
Dann kannst Du auch Dein "Problem" loesen, naemlich zu erkennen,
welches Formular denn nun abgeschickt wurde.
dclp-FAQ: Wie verarbeite ich mehrere Submit-Buttons?
http://www.dclp-faq.de/q/q-formular-buttons.html

Eine Alternative waeren natuerliche Hidden-Fields, die
fuer jedes Formular charakteristisch sind.

Gruesse,

Thomas