Hallo Jacob,
Allerdings solltest du die Daten vor dem Eintragen unbedingt nach den Regeln deiner Datenbank maskieren. Bei mySQL wäre beispielsweise mysql_real_escape_string() dafür vorgesehen und geeignet.
Natürlich maskiere ich, allerdings erst direkt im Statement selber:
...,'".mysql_real_escape_string($beschreibung)."',...
okay, das ging aus dem gezeigten Code nicht hervor, und die Erfahrung zeigt, dass dieser Schritt gern vernachlässigt wird - sei es aus Gleichgültigkeit oder aus Unwissenheit.
Ausgeben tue ich den Text per Javascript:
Und wie kommen die Daten von der DB bis zum Javascript?
meine Daten kommen von der DB in den Browser über 2 Stationen:
$sql = "SELECT * FROM wbb".WBB_N."_map WHERE
date
like "2011%" ORDER BYwbb1\_1\_map
.date
ASC";
//print_r($sql);
$result = WCF::getDB()->sendQuery($sql);
while ($row = mysql_fetch_object($result)) {
$this->thnigs2011[$this->count]= $row;
$this->count++;
}
Das heißt, du benutzt irgendeine mir unbekannte Klassenbibliothek oder ein CMS, das einen Großteil der Datenaufbereitung übernimmt.
WCF::getTPL()->assign (array('things2011' => $this->things2011));
Dann vermute ich, dass dieses Framework auch irgendwo die normalerweise sinnvolle Behandlung mit htmlspecialchars() übernimmt, die hier, bei der *Ausgabe* als HTML, angebracht ist.
Nun kann ich das Array im JavaCode quasi benutzen:
Bitte verwechsle nicht Java mit Javascript oder Grat mit Gratin.
{foreach from=$thnigs2011 item=id}
marker =createMarker("{$id->lat}","{$id->lng}"); map.addOverlay(marker); markdetails2011[i]= new singledetail("...(andere Parameter für den Konstruktor)...", "{$id->description}","...weitere Parameter..." ); markers2011[i] = marker; i++;
{/foreach}
Das scheint mir eher Template-Code zu sein, der letztendlich Javascript ausgibt. Was dabei genau abgeht, bleibt für mich aber noch rätselhaft.
> Meine (falsche) Idee war, die Eingaben vor dem Input in die DB zu bearbeiten, da ich bei der Abfrage und Ausgabe ja später mit größeren Mengen arbeite, und die maskierung dort aufwändiger ist?!
Das sollte kein Argument sein. Kontextgerechte Behandlung von Daten sollte da erfolgen, wo die Daten in einen neuen Kontext eingebracht werden, und dann für diesen Zielkontext und nichts anderes. Sonst wirfst du dir letztendlich selbst Knüppel zwischen die Füße.
Ciao,
Martin
PS: Bitte keine [Vollzitate](http://de.wikipedia.org/wiki/TOFU)! Zitiere maßvoll, nämlich die Passagen, auf die du dich beziehst, und lass den Rest weg. Danke.
--
Zwei Kumpels sitzen vor dem Computer. "Welche Suchmaschine beutzt du eigentlich meistens?" - "Prima Vera." - "Hmm, kenn' ich gar nicht." Dann geht die Tür auf: "Schatz ich habe deine Sonnenbrille wiedergefunden!" - "Prima, Vera!"
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(