Tom: Formularauswertung

Beitrag lesen

Hello Andreas,

Bei Aktion = Profil lade ich profil.php:
print "<FORM ACTION="index.php?action=profilsave" METHOD="POST" ENCTYPE="MULTIPART/FORM-DATA">\n";
...
print "<INPUT TYPE="SUBMIT" CLASS="ibut" name="action" VALUE="&Auml;ndern">\n";

in der index.php habe ich dann wieder die action-Abfrage stehen:
if($action=='profilsave'){
echo "test";
}

Doch genau dieser Schritt klappt nicht.
es wird nichts ausgegeben, der rechte Bereich bleibt leer.

Was mache ich falsch?

Danke für dieses tolle Beispiel für den Nutzen von "regsister_globals = off"!

Ich musste erst stutzen, was Du da wohl gebastelt hast, aber auf den zweiten Blick wurde es klar.

1. Du hast entgegen jeder Empfehlung register_globals auf on
2. Du arbeitest mit den Script-"Kurzvariablen"
3. Du hast zwei Wege, auf denen deine Parameter in das Script gelangen,
   gleichzeitig benutzt: im <form>-tag die GET-Methode und im
   <input>-Tag die Post-Methode.
4. Du hast einen Parameternamen doppelt vergeben. (siehe 3. )
   - <form action="... action=profilsave" ...>
   - <input name="action" value="...

Abhilfe:
1. Stell deinen Host auf register_globals = off
2. Nutze im Script nur die $_GET, $_POST, $_COOKIE,... Vraiablen
3. Vergib eindeutige Parameter- / Vraiablennamen.

Viel Erfolg

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen