Hello,
ok, ich habs im prinzip verstanden und auch zum laufen gebracht, es waren einige klammern falsch etc., aber jetzt gehts. ich poste es für interessierte hier nochmal. eine frage hab ich aber noch dazu: ich bekam zuerst folgende fehlermeldung:Fatal error: Call to undefined function htmlspechialchars()
Die Funktion ist auch immer noch falsch geschrieben
http://de.php.net/manual/en/function.htmlspecialchars.php
html spezial zeichen -- verdenglischen --> html special characters
Programmiererslang drüberlaufen lassen --> htmlspecialchars()
Wenn Du Scripte schreibst in PHP und mit Datenbank usw. dann solltest Du eigentlich immer die Manuals im Zugriff haben. Die stehen ja alle im Netz und bieten eine menge Tipps und Hinweise.
Bei PHP kommt noch erschwerend hinzu, dass die sich nie einig werden können, in welcher Reihenfolge Funktionsargumente aufgeführt werden können. Bei einer Funktion steht mal das zu behandeldnde Objekt vorne, bei der anderen der Suchstring oder die "Needle". ich scheu da grundsätzlich nochmal nach.
Bei MySQL ist es nicht so wirr.
daraufhin hab ich die specialchars-funktion (zeile 37) einfach entfernt, und jetzt gehts. ist das ein problem??
Ja, eigentlich schon. Wenn Deine Suchergebnisse nämlich nun Häkchen, Zeilenumbrüche, spitze Klammern oder ähnliche bei HTML reservierte Zeichen enthalten, dann bringst Du mit einer unbehandelten Ausgabe Deinen Browser durcheinander. Du wunderst Dich dann später, wenn die Datenmenge gestiegen ist, dass es manchmal diese hässlichen Darstellungsfehler gibt und manchmal eben nicht.
Also am besten immer alles gleich für den richtigen Kontext vorbereiten, auch wenn bei 90% der Daten keine Probleme auftreten.
Für die Codierung mit utf-8 reicht htmlspechialchars(...,ENT_QUOTES)
Für die Codierung mit ISO 8859-1 sollte man schon htmlentities(...,ENT_QUOTES) benutzen.
Du solltest also schon wissen, in welcher Codierung Du Dein Projekt anlegst, damit Du nachher nicht alles umbauen musst, oder aber, du baust Dir eine eigene Funktion "htmlkontext(...)" zusammen, die dann auf von Dir festgelegte Konstanten zurückgreift und damit automatsich die richtige Funktion wählt.
Das halte ich Zeiten von Umstellungen immer für am besten.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)