Hoi,

Ik heb een nieuwsscriptje en als ik de drie velden van mijn nieuwsbericht intyp ( titel, intro, tekst ) dan gaat die informatie prima naar de database mbv ".mysql_real_escape_string($_POST['titel'])." . Daar zit alles snor dus (denk ik).

Als ik dan een CMS overzichtje laat zien (lijst) van mijn nieuwsitems, alleen titel en datum, dan haalt hij de gegevens prima uit de DB.
Rechts van alle titels heb ik het knopjes verwijderen. Ik kan alle berichten verwijderen, behalve als er een ' in de titel staat. Zonder ' tekens kan ik alles prima verwijderen.

Iemand een idee hoe ik dit op kan lossen?
foutje van mij..
<?php
echo '<a href="'.$_SERVER['PHP_SELF'].'?show=del&id='.$row['id'].'" onClick="return confirm(\'Wilt u '.$row['titel'].' verwijderen?\');"><img src="../img/icon_delete.jpg" width="32" height="30" border="0" align="center" /></a>';
?>

zo zou die het moeten doen..
:)
het wordt steeds vreemder. titels verwijderen zonder ' geeft hij wel een melding.. titels met dus niet... maar heb ook een javascript error on page ")" expected...

als er geen ' in staat verwijderd hij hem direct.

ik probeer zelf ook nog even wat :)
Die JavaScript error heeft te maken met die enkele quote in je topictitel. In JavaScript moet je binnen strings altijd escapen, of het nu enkele of dubbele quotes zijn. Haal maar eens addslashes over je topictitel heen voordat je hem naar je JavaScript stuurt.
uuh hehe dat wil ik wel.. maar addslashes over mijn topictitel halen is niet iets wat ik dagelijk doe ;)

maw, wat bedoel je precies? ikke = noob he :o)
@jan, hij heeft die slashes er als het goed is al in staan, want voordat hij het naar de db stuurt, doet hij al mysql_real_escape_string();

(is het zelfde als [php]addslashes[/php]();)
ooh dat :)
Terence schreef op 26.09.2006 11:14
@jan, hij heeft die slashes er als het goed is al in staan, want voordat hij het naar de db stuurt, doet hij al mysql_real_escape_string();

(is het zelfde als [php]addslashes[/php]();)

En die slashes haalt MySQL er keurig uit tijdens het opslaan. Zodra het uit de DB rolt is het weer zonder slashes.
dus dat doe ik niet verkeerd? :)
volgens mij is het echt het stukje JS hoor. want als ik dat weghaal kan ik gewoon verwijderen
Welk stukje javascript bedoel je? dat in de link dat ik jou gegeven heb of je eigen stukje?
Zoals jan zegt, de data wordt met slashes in de database gestopt, maar komt zonder slashes uit de database. Dus wel even addslashes gebruiken!

<?php
$topictitel = addslashes($row['titel']);
?>

en dan die $topictitel in je JS gebruiken.

Reageren