Wie kann der eingegebene Eintrag nach Bestätigung in die Datenbank gespeichert werden?

1 Antwort

Zuerst einmal solltest du prüfen, ob der Programmfluss in deinem Anwendungsfall überhaupt bis in den Körper der Kontrollstruktur

if (isset($_POST['confirm'])) {

kommt. Das lässt sich leicht mit echo-Ausgaben prüfen.

Wenn ja, müsste die SQL-Anweisung genauer betrachtet werden. Lass dir am besten die $sql-Variable ausgeben.

Der von dir gewählte Weg, wie du SQL-Anfragen aufbaust, ist übrigens unsicher, denn du prüfst die Werte, die du von außen erhältst, überhaupt nicht. Das bedeutet ein Nutzer könnte beispielsweise in das Eingabefeld für den Namen eigene SQL-Anweisungen einfügen, die von deinem Skript in die SQL-Anfrage eingebaut und dann von dem DBMS ausgeführt werden.

Nutze stattdessen Prepared Statements (alternatives Tutorial) und füge auch eine inhaltliche Validation hinzu. Wenn ein Nutzer vor Formularversand zum Beispiel den Spaltennamen ändert, kann er leicht einen Anwendungsfehler provozieren.