Tach!
Das heißt also ich lege wenn das Formular ohne GET aufgerufen wird eine leere Variable mit dem Namen $seite an?
Ich nahm an, dass der Inhalt von $seite aus der Datenbank kommt. Wenn das nicht der Fall ist, kannst du stattdessen einen Leerstring nehmen. (Dann braucht sich das htmlspecialchars() auch nur um $_GET['seite'] zu kümmern.)
Wenn die Seite mit GET aufgerufen wird, wird $seite mit einem Wert aus der Datenbank gefüllt.
Oder auch nicht.
- Du hast Create mit GET, da existiert kein Wert, weil nur ein leeres Formular angezeigt wird (Erstaufruf).
- Du hast Create mit POST, da existieren $_POST-Werte, wenn die Validierung gesagt hat, dass das Formular in eine neue Runde gehen muss (Affenformular).
- Du hast Update mit GET, da existiert nichts in $_GET (außer der Datensatz-ID o.ä.), aber die Datenbankwerte sollen angezeigt wird. Die stehen vielleicht in einem Array oder Objekt.
- Du hast Update mit POST, da existieren $_POST-Werte, wenn die Validierung gesagt hat, dass das Formular in eine neue Runde gehen muss (Affenformular).
In $_GET sollten keine Formularwerte stehen, weil datenverändernde Requests mit POST und nicht mit GET ausgelöst werden sollen. Sonst kommt mal ein Link-Checker oder ein Suchmaschinen-Crawler vorbei und folgt allen GET-Links, auch denen die Daten löschen.
dedlfix.