benutzereingaben im html code oder ohne html code speichern ?
Daniel
- datenbank
Hallo,
ich hab da einmal eine etwas aussergewöhnliche frage:
wie würdet ihr benutzereingaben in einer datenbank speichern, eher in html codierung, oder ohne?
das problem ist nämlich wenn ich vorher alle benutzereingaben mit htmlentities() überprüfe, wird u.u. das feld in der datenbank zu klein, da der html code ja mehr platz in anspruch nimmt.ich könnte zwar den "worst case" annehmen, das ein benutzer nur sonderzeichen eingibt (die mit der längsten codierung) und dann das eingabefeld auf n zeichen beschränken und das feld in der datenbank halt um den faktor x grösser machen, aber ich glaube nicht das diese variante effizient ist.
auf der anderen seite ist es aber praktisch wenn die eingaben vorher codiert werden, denn wenn zb zeichen wie "'$ verwendet werden könnte ich probleme bekommen weil ich php verwende.ausserdem müste ich dann bei jeden mal auslesen aus der datenbank wieder mit der funktion htmlentities() arbeiten, was bei vielen ausgaben warscheinlich ziemlich auf die serverlast drückt. verbieten möchte ich diese sonderzeichen aber auch nicht, um den benutzer spielraum bei seinen eingaben zu lassen, da mitunter auch textpassagen vorkommen können.
wie würdet ihr dieses mehr oder weniger "problem" lösen ?
grüsse,
daniel
Moin,
wie würdet ihr benutzereingaben in einer datenbank speichern, eher in html codierung, oder ohne?
Ohne. Dann vereinfacht sich das Suchen, und man kann ohne Bedenken mit allen Stringfunktionen (zum Beispiel instr, substring, etc.) arbeiten.
auf der anderen seite ist es aber praktisch wenn die eingaben vorher codiert werden, denn wenn zb zeichen wie "'$ verwendet werden könnte ich probleme bekommen weil ich php verwende.
Wenn du keinen Mist baust, kriegst du damit auch keine Problem. (D.h entweder auf magic_quotes achten oder addslashes() verwenden.)
ausserdem müste ich dann bei jeden mal auslesen aus der datenbank wieder mit der funktion htmlentities() arbeiten
Und? Kein Problem hier. Ausserdem bist du nicht auf die Ausgabe in HTML beschränkt.