Karoline: <form action=""> vs. <form action="$_SERVER['PHP_SELF']">

Beitrag lesen

Hallo, hab jetzt ziemlich viel rum geschaut aber die Antworten sind alle mehrere Jahre alt und gerade bei PHP und auch bei HTML hat sich in den letzten Jahren ja einiges getan. Daher wollte ich nochmal nachfragen was aktuell Stand der Dinge ist und wie man es richtig macht (s.u.).

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?

Oder gibt es mittlerweile eine andere Methode das gleiche Ergebnis zu erzielen ohne das Script zusätzlich angreifbar zu machen?

Danke und Grüße Karoline