Ik heb op mijn website een tekstveld waarin gebruikers een bericht kunnen posten. De naam van het tekstveld is "bericht" en dit wordt via een formulier gepost. Ik sla het bericht dan op in een variabele, als volgt:

<?php
$bericht = 'Volgend bericht werd door u gepost:<br/> ' . $_POST['bericht'];
?>

Nu, stel dat de gebruiker volgend bericht post: "Leuke foto's!"
Dan krijg je een parse error dankzij die ' in foto's.

Mijn vraag is nu: hoe kan je zo'n parse error (door quotes in geposte bericht) vermijden en de quotes toch weergeven?
dit werkt:

<?php
$bericht = 'Volgend bericht werd door u gepost:<br/>" ' . $_POST['bericht'].'"';
?>
Tamara? Dat is volgens mij niet wat hij bedoelt.

En ik heb nog nooit een error gehad als ik foto's (of een ander woord met ene ' erin) poste. Maar je hoort daar ook eigenlijk helemaal geen ' te gebruiken. Maar een `.

Maar ik vind het vaag dat jij die error krijgt.
Dit is vrij normaal als je mysql gebruikt(was waarschijnlijk het geval is). Is ook makkelijk op te lossen, gewoon op de plek waar je 'm in mysql zet mysql_real_escape_string om $_POST['bericht'] heenzetten. Dus bijvoorbeeld:
<?php
mysql_query("INSERT INTO test SET bericht = '".mysql_real_escape_string($bericht)."'");
?>
Als je dan ook nog eens html wil voorkomen(wat ik wel denk):
<?php
mysql_query("INSERT INTO test SET bericht = '".mysql_real_escape_string(strip_tags($bericht))."'");
?>
Altijd goed kijken in welke regel de error zit! Want ik denk niet dat het in de regel die jij post zit!
teuneboom => bedankt! Is opgelost nu! ;)

Reageren