Ik heb zelf een CMS in elkaar geklopt. Het draait nu als een tiet, echter er is nog 1 probleem. Het probleem is het volgende:
nieuwsberichten die worden toegevoegd en die speciale tekens al " of ' bevatten (ook in woorden, zoals collega's) kunnen niet worden toegevoegd.
op dit forum (en ook op andere) heb ik gezocht. Ik ben wat tegen gekomen over htmlentities. Echter echt duidelijk wordt het niet uitgelegd. Heeft iemand een richting / tip waarin ik het moet zoeken?
Ik hoop het vanmiddag nog te fixen, dan kan ik teninste met mijn vriendinnen naar Oranje kijken.
bekend probleem. Ik neem aan dat je de gegevens in een MySQL database stopt? Haal er dan addslashes () overheen voordat je dat doet. MySQL zal de slashes herkennen als escape-teken en de gegevens zonder slashes opslaan.
Wanneer magic quotes aanstaat worden er door PHP automatisch slashes toegevoegd wanneer je de gegevens weer uit je db haalt. Om dit te voorkomen maak je een bestandje aan met de naam
.htaccess
plaats daarin:
php_flag magic_quotes_gpc off
en zet het in de map waarin je script uitgevoerd wordt.
@BOAZ, inderdaad werkt de query niet als ik, in het beheer gedeelte van het CMS, de speciale tekens (" of ') in berichten heb staan die ik wil posten.
De door Bert en Jan Koehoorn genoemde oplossing van AddSlashes lijkt me de juiste. Ik heb met succes het .htaccess file aangemaakt. Echter, het lukt me niet om met succes het commando addslashes op de juiste manier in de code te voegen. Via google heb ik verschillende voorbeelden gevonden. Zonder resultaat. Kan iemand een voorzet geven?
Wederom veel dank...
<?
//-- toevoegen
if ($_GET[show] == "add" || $_POST["show"] == "add")
{
if ($_POST["titel"] && $_POST["msg"] && $_POST["mydate"] && $_POST["kop"])
{
En misschien handiger:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$values = array ();
foreach ($_POST as $key =>$value) {
$values[$key] = addslashes ($value);
// of gebruik mysql_real_escape_string
}
}
?>
Hierna kun je gewoon de array $values gebruiken in je query.
Dit script doet het volgende:
'&' (ampersand) wordt '&'
'"' (dubbele quote) wordt '"'.
''' (enkele quote) wordt '''.
'<' (kleiner dan) wordt '<'
'>' (groter dan) wordt '>'
'\n' (nieuwe regel) wordt '<br />' of '<br>'.
'\' (backslahs) wordt ''.
'\\' (dubbele backslash) wordt '\'.