johny7: htmlspecialchars() vs. mysql_real_escape_string()

Beitrag lesen

Moin allerseits,

Dann solltest Du sie *beim Speichern* in der Datenbank mit den dafür vorgesehenen Funktionen kontextgerecht behandeln.

OK, nun wende ich beim Speichern mysql_real_escape_string() an.
Dann werden alle Anführungszeichen in der Datenbank mit Backslashes gespeichert.

Dann solltest Du sie *beim Ausgeben* als HTML mit den dafür vorgesehenen Funktionen kontextgerecht behandeln.

OK, ich kann nun mit htmlspecialchars() alle HTML-Tags 'maskieren'. Wie bekomme ich aber nun die Backslashes vernünftig weg? Und warum werden solche Backslashes überhaupt in der Datenbank gespeichert? Ich dachte, die werden nur wegen dem Kontextwechsel davor gesetzt. Soll heißen, wenn ich
INSERT INTO table SET text='Hallo 'welt''
habe, müsste in der Tabelle folgendes drinstehen:
Hallo 'welt'
Warum steht da bei mir aber
Hallo 'welt'
?

Grüße, JN

--
ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
http://www.johny7.de