Hoi daar allemaal

Ik heb al vele keren geprobeerd een nieuwssysteem te maken, met DB.
Elke keer lukt het me dan ook wel, maar toch..
Ik heb een vraagje dat ik elke keer opnieuw moet uitzoeken.
Met nl2br() kan je de enters in je form veld laten omzetten naar <br>'s. Dat weet iedereen. Maar als ik dan mijn form wil editen staan die <br>'s in het form. Dat is al niet goed. Als ik dan (zonder iets te editen) op submit druk en dan ga kijken in het nieuwssysteem, dan is de 'ge-enterde' afstand groter. Als ik dat nog eens doe, wordt die weer groter..

Heeft iemand hier het 'lijstje' van de functies die ik achtereenvolgens op de _POST van het form moet toepassen, en dan ook weer in het nieuwssytsteem zelf om het te laten zijn?

Mvg Jens
Als je mysql_real_escape_string op je POST waarden loslaat, worden ze geëscapet voordat ze in de DB weggeschreven worden. De nl2br pas je alleen toe bij het eruit halen, wanneer je ze in HTML wilt laten zien.

Als je ze dus wilt bewerken in een textarea, doe je er niets mee, dan gaat het vanzelf goed.

Ik zet wel altijd magic quotes uit met een .htaccess bestandje.
html_entinities deroverheen gooien?
Haal je alle <br />'s weer weg :)
dus:

<?
$tekst = mysql_real_escape_string($_POST['tekst']);
$sql = "INSERT INTO nieuws (id, tekst) VALUES ('', '".$tekst."')";
?>

en
<?
$sql = "SELECT * FROM nieuws (WHERE...)";
...
echo nl2br($row['tekst']);
?>

Zoeits?
@ Luke & Bart: je moet ze gewoon helemaal niet opslaan in je DB. Veel te omslachtig. Eerst nl2br eroverheen, dan weer andersom. Die htmlentities van Luke zou het alleen maar erger maken. Die zet <br /> zodanig om, dat hij ook nog eens letterlijk in de HTML te zien wordt.
is zoiets als hierboven dan juist?
1ste is bij het opslaan; 2de voor het weergeven
@ Jens: alleen als je het als HTML wilt weergeven heb je die nl2br nodig. Niet als je het in een bewerkpagina in een <textarea> wilt zetten.
Oké,
in het textarea, worden daar die enters, niet de <br>'s automatisch weergeven?


EDIT: En waarom eigenlijk die magic quotes? Wat doen die eigenlijk?
Ja, dus \r\n wordt automatisch een nieuwe regel in je textarea. En <br /> krijg je gewoon letterlijk te zien.
Cva, merci :-)
Zal het onthouden voor later;-)

Reageren