Übergabeproblem bei formularen (action="??")
Malte
- php
0 guest42
Hey,
folgendes Problem:
Ich habe ein loginscript (login.php), das für das anmelden über 2 formularfelder username und passwort abfragt und anschließend an sich selbst "schickt" (action="login.php").
Soweit so gut. Nun möchte ich das loginformular omnipräsent auf meiner Seite machen und somit in verschiedene andere php oder html dateien "includen". funktioniert auch alles wunderbar, allerdings ruft er dann logischerweise nach dem einloggen login.php als eigenständige seite auf und verlässt somit die vorherige.
Das problem lässt sich ja für eine einzelne seite ganz gut lösen, indem ich wenn ich z.b das loginformular in community.php included hab in login.php action="community.php" setze.
Was mache ich aber, wenn ich es in alle Seiten includen will? kann mich dann ja nicht mehr auf einzelne actions festlegen. Gibt es einen Befehl, der einfach die daten aus dem formular an die "übergeordnete Seite" schickt egal wie diese heißt?
ich hoffe ich konnte mich verständlich machen ;)
greetz
Malte
mit
action="<?php print $_SERVER['PHP_SELF']; ?>"
schickt das Formular immer alles an die Seite, in der es selbst steht, egal wie die Seite heißt.
Hello,
action="<?php print $_SERVER['PHP_SELF']; ?>"
schickt das Formular immer alles an die Seite, in der es selbst steht, egal wie die Seite heißt.
Und Du solltest unbedingt
action="<?php print htmlspecialchars($_SERVER['PHP_SELF']); ?>"
schreiben, wenn Du keinen Angriff über Cross-Site-Scripting riskieren willst.
Alternativ geht (ersatzweise) auch
action="<?php print $_SERVER['SCRIP_NAME']); ?>"
weil, es die Pfad-Information abschneidet.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Okay danke, ich werd probieren auch diese Lücke zu schließen. Allerdings muss ich jetzt erstmal einen Weg finden, um die von mod_rewrite simulierte "Adressleisten-Url" zu nehmen und nicht die "reale".
schöne Grüße aus Bielefeld
Malte
mit
action="<?php print $_SERVER['PHP_SELF']; ?>"
schickt das Formular immer alles an die Seite, in der es selbst steht, egal wie die Seite heißt.
Hm okay ich dachte es hätte mir geholfen aber das Problem ist nun, dass ich dynamische php urls habe und diese mit mod_rewrite "statisch gemacht" habe.
Benutze ich deinen angegebenen Befehl, komm ich immer wieder zu den obersten dateien (inkl. php endung) und meine variablen(z.b für bestimmte unterseiten) gehen dabei verloren.
Hast du vielleicht noch einen tip für mich, wie ich nich die wirkiche adresse der oberseite sondern nur die in der adressleiste erscheinende auslesen kann?
Hi,
Hast du vielleicht noch einen tip für mich, wie ich nich die wirkiche adresse der oberseite sondern nur die in der adressleiste erscheinende auslesen kann?
print_r($_SERVER); sollte Aufschluss bieten.
MfG ChrisB