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.
Geprobeerd, ligt het niet aan. De code werkt prima maar het probleem is niet verholpen. Voor mijn gevoel gaat het echt mis bij het verwijderen uit de db
Niet altijd! Dit gaat bijvoorbeeld fout:
<?php
$str = 'Wat eet je 's morgens?';
echo $str;
?>
Een enkele quote moet je wel degelijk escapen binnen enkele quotes.
Geprobeerd, ligt het niet aan. De code werkt prima maar het probleem is niet verholpen. Voor mijn gevoel gaat het echt mis bij het verwijderen uit de db
Ja, dus echo je query naar het scherm en doe aan foutafhandeling:
<?php
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
echo '<pre>';
echo htmlentities ($sql);
echo '</pre>';
}
?>
ok ik had het iets beter uit moeten leggen... hoe komt niet eens bij de query. Als ik op de knop verwijderen druk (en er zit een ' oid in de titel) dan gebeurd er helemaal niets. Geen melding (zit een JS askconfirm tussen) niets.... wellicht dat het stukje js er mee te maken heeft?
dat javascript stukje is wel goed, alleen ik vraag me nu af hoe je dat bovenstukje op je schem echo't.. Probeer dat eens in je php-code te veranderen naar:
het bericht wordt iig verwijderd! haha alleen geen melding meer maar dat is misschien wel logisch aangezien je href="" direct de file verwijderd en daarna vraagt of je hem wilt verwijderen? (al krijg ik ook die melding niet ;))