Hoe kan ik het beste bijvoorbeeld met een gastenboek de berichten in een database zetten. Ik bedoel dan van hoe moet je het php/html code eruit filteren? En dan later weer alleen de enters eruit filteren en dan de enters op de juiste manier tonenen waar ze horen??
Als je een MySQL database gebruikt, kan je [php]mysql_real_escape_string[/php]() gebruiken.
Met [php]htmlspecialchars[/php]($sVar, ENT_QUOTES); kan je HTML omzetten.
Als tekst uit een textarea komt, zet je het met de normale EOL tekens in de database (niks aan doen) en kan je de EOL later omzetten in een <br /> met [php]nl2br[/php]()
Je moet bij een textarea niks doen aan de enters, je moet er wel mysql_real_escape_string() overheen gooien, dan moet bijna over alles wat aan user input de database in gaat (getallen etc kan je op een andere manier valideren)
@Erik: let wel op het verschil tussen htmlspecialchars & htmlentities, htmlentities zet niet alle html elementen om!
htmlentities(), htmlspecialchars() en nog meer van dit soort functies moet je NOOIT gebruiken bij het opslaan in de database. Je gebruikt deze functies pas nadat je de boel weer hebt opgehaald uit de database, dus na een SELECT.
Waarom? Omdat je de data anders niet/nauwelijks meer kunt gebruiken voor andere toepassingen dan een webpagina. Het zijn tenslotte functies die betrekking hebben op het maken van correcte html-output.
mysql_real_escapte_string() zorgt er voor dat o.a. quotes worden geescaped die in de tekst staan. Gebruik je dit niet, dan loopt je query in de soep.