login  Naam:   Wachtwoord: 
Registreer je!
 Forum

enters

Offline Schokkie - 25/09/2004 23:23
Avatar van SchokkieNieuw lid Ik heb een gastenboek gemaakt in php.
Het invulveld is geschreven als volgt :

<textarea name="bericht" rows="5" cols="100"></textarea>

alles word in de databank gestoken als volgt :


$bericht = htmlspecialchars(addslashes($_POST['bericht']));
....

$query = "INSERT INTO gastenboek (voornaam, achternaam, email, website, bericht, datum, woonplaats) VALUES
('$voornaam', '$achternaam', '$email', '$website', '$bericht',
'$datum', '$woonplaats')";


voor het opvragen van het gastenboek gebeurt dit als volgt.

$query = "SELECT * from gastenboek ORDER BY id DESC";
$resultaat = mysql_query($query) or die ("query mislukt");
while ($rij = mysql_fetch_object($resultaat)){
$bericht = stripslashes("$rij->bericht");

$bericht = nl2br($bericht);
.....

Hoe komt het ondanks dat de mensen een enter plaatsen in het bericht alles toch achter elkaar gekleefd word.
Hoe kan men ervoor zorgen dat wanneer met enter zet in het bericht deze enters ook terug weergegeven worden bij het opvragen van het bericht in het gatenboek.

Groeten

Johan

6 antwoorden

Gesponsorde links
Offline NCube - 25/09/2004 23:46
Avatar van NCube HTML beginner Zet stripslashes pas na nl2br
  1. <?php
  2. $bericht = nl2br($rij->bericht);
  3. $bericht = stripslashes($bericht);
  4. ?>
Offline Thomas - 26/09/2004 00:16
Avatar van Thomas Moderator Dat maakt niet zoveel uit eh, er zitten namelijk geen slashes in <br />.
Waarschijnlijk word er nog een andere bewerking op $bericht uitgevoerd zodat linebreaks niet goed uit de verf komen ?

nl2br() zou normaal zijn werk goed moeten doen...
Offline Schokkie - 26/09/2004 10:26
Avatar van Schokkie Nieuw lid ok, bij
Zet stripslashes pas na nl2br

<?php
$bericht = nl2br($rij->bericht);
$bericht = stripslashes($bericht);
?>

Werkt het ! 
Offline SickBoy - 26/09/2004 10:59
Avatar van SickBoy MySQL beginner $tekst = stripslashes($tekst);
$tekst = htmlspecialchars($tekst);
$tekst = nl2br($tekst);
=> dit werkt bij mij elke keer 

het is aangeraden htmlspecialchars pas te doen bij het opvragen van gegevens. ikzelf doe enkel addslashes bij invoegen van gegevens. Als je zelf in de database moet gaan zoeken, en je weet niet wat bepaalde tekens betekenen, is dit overzichtelijker 
Offline Thomas - 26/09/2004 11:14
Avatar van Thomas Moderator Ik gebruik add- en stripslashes nooit. Maar het kan kloppen.
Een 'regelovergang' in een textarea wordt opgeslagen in de database als \n (een newline karakter) dacht ik.

Als je hier stripslashes op uitvoert...
Offline SickBoy - 26/09/2004 12:17 (laatste wijziging 26/09/2004 12:21)
Avatar van SickBoy MySQL beginner FangorN; als je addslashes toevoegd voor je het in de database stopt, dan wordt \n omgevormd naar \\n

*edit* toch niet bij mij wordt het gewoon een nieuwe regel (in de database)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s