Hello,
Ich muss zugeben, dass es erstmal ungewöhnlich mit PHP ist. Die ganzen Punkte und echos. Aber die ersten Schritte laufen mittlerweile ganz gut. Meine Bücher erläutern aber leider nicht alle Themen. Beispielsweise Checkboxen und/oder Radio Buttons
Ich sehe/verstehe einfach nicht, wie ich da hin komme. Daher die 2 Fragen
Wie sende ich eine 1 in die Datenbank, wenn eine checkbox gesetzt ist?
Die Frage wird in ein paar Minuten eher lauten: wie erkenne ich, dass ich ein FALSE (oder eine 0) an die Datenbank übermitteln muss, wenn kein Checkbox-Parameter übertagen wurde?
Vielleicht sollte ja außerdem gerade dieses Datensatzfeld gar nicht durch den Benutzerdialog bedient werden? Solch ein Szenario ist durchaus möglich und üblich!
Das Problem ist also komplexer!
Ein paar Grundregeln der CS-Dialog-Datenverarbeitung:
- verändere nichts, was Du vorher nicht gelesen hast
- arbeite mit Sessions. Datensätze, deren alter Inhalt sich nicht im Sessionpuffer befindet, dürfen nicht verändert werden
- beschaffe dir aus der Datenbank (Metadaten der Tabelle,
INFORMATION_SCHEMA
) die Spaltentypen - prüfe bei der Antwort vom Client die Darstellbarkeit der Requestparameter im Zieltyp der Datenbanktabelle.
- beachte den Kontextwechsel und das passende Escaping
- speichere dir in der Session alle Felder des Formulars, die bei der nachfolgenden Antwort (dem Update Request) des Clients vorhanden sein müssen und dürfen. Nur Checkboxen und Radios dürfen in den Post-Parametern fehlen. Alle anderen müssen vorhanden sein. Mehr Parameter dürfen nicht vorhanden sein.
- bei auftretenden Fehlern schreibe einen Logeintrag in dein Textlog der App, der dann durch fail2ban verstanden und behandelt werden kann.
Es gibt noch viel mehr dazu zu schreiben, damit es ein Kochrezept wird. Aber fang erst einmal langsam an und stelle deine Fragen dazu.
Glück Auf
Tom vom Berg
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.