Sven Rautenberg: NULL-Byte vs. leeren String

Beitrag lesen

Moin!

Es ist überhaupt keine Vergewaltigung, den NULL-Wert für die Anzeige zu nutzen. Dafür ist er im Prinzip auch da. Er steuert ja das Insert- und Updateverhalten der Tabelle.

Doch, ist es.

Die Information "Formularfeld ist Pflichtfeld" gehört nicht in die Tabellenstruktur hinein!

Was ist, wenn sich das Formularfeld mal ändert zum Nicht-Pflichtfeld? Dann änderst du die Tabellenstruktur. Und wenn du die von NULL auf NOT NULL änderst, hast du ein Problem mit allen bis dahin eingetragenen NULL-Werten.

Abgesehen davon ist es Datenverschwendung, wenn nur dafür, dass das Formularfeld mal Pflichtfeld war, in jedem _Datensatz_ ein Bit für NULL freigehalten wird, was aber nicht wirklich benutzt wird.

Wenn ich ein Formular an den Browser schicke, trage ich dieses Array unter einer Formular-ID, ergänzt um die Angabe, ob das Feld für den User freigegeben ist, und die Daten in die Session ein. Wenn der POST nun eintrifft, wird unter der Formular-ID geschaut, ob überhaupt einer erwartet wird und ob er nur erlaubte Werte enthält. Wenn nein, gibts was auf die Finger...

Dann hast du aber auch megawichtige Formulardinge am Laufen. Üblicherweise reicht ein eher entspanntes Umgehen mit Formularen eigentlich aus. Ein Formmailer braucht keine Datenbankanbindung für Pflichtfelder.

Abgesehen davon: Du machst doch so gern mit Sessions. _Da_ würden diese Daten gut reinpassen, nicht in die Datenbank.

- Sven Rautenberg

--
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)