Hello Karoline,
Also habe eine Seite
www.meinewebseite/test/test.php?id=5
auf dieser Seite ist unter anderem ein Formular, die Einträge werden bei submit in eine DB geschrieben, der db_input ist im head der Seite eingebunden - möchte also bei submit auf die gleiche Seite verweisen (und natürlich die $GET Variable ?id=5 mit übergeben).
Habe nun gelesen, dass es am sichersten und einfachsten ist das über <form action="" method="POST"> zu machen.
alternativ wäre ja: <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>"> - wobei man da noch die $GET variable einbauen müsste (oder hat sich das mittlerweile geändert?).
Ist das wirklich valide wenn ich das action Attribut leer lasse - oder funktioniert das zwar, ist aber eigentilch nicht zulässig?
echo '<form action=" ' . $_SERVER['PHP_SELF'] . "'>;
ist nicht sicher gegen XXS-Angriffe. Du solltest den Wert $_SERVER['PHP_SELF']
entweder kontextbehandeln (htmlspecialchars()), oder aber stattdessen $_SERVER['SCRIPT_NAME']
verwenden. Dann gehen aber die Parameter verloren.
echo '<form action="" method="post"'>;
lässt die URi vom Aufruf wieder zu, d. h., der Browser setzt diese ein.
Bliebe als dritte Möglichkeit noch
echo '<form action="#"' method="post">';
Das wird die URL vom Request wieder übernommen. Aber man kann keine zusätzlichen GET-Parameter mehr anhängen.
So, nun hoffe ich, dass ich es nicht selber durcheinander gebracht habe. Experimentiere lieber selber noch einmal damit. ;-)
Liebe Grüße
Tom S.
Die Krawatte ist das Kopftuch des Westens