Hello,
nun mache ich also bei allen datenbankrelevanten Eingaben diese beiden Komandos.
$_POST['Kategorie'] = stripslashes($_POST['Kategorie']);
$_POST['Kategorie'] = mysql_escape_string($_POST['Kategorie']);Geht das auch in einer Zeile?
1. Das ist so viel übersichtlicher, als in einer Zeile
2. Wenn man das gerne zusammenfassen möchte, bietet es sich an,
eine eigene Funktion dafür zu schreiben, damit es schlußendlich
wieder übersichtlich bleibt.
3. die Backslashes werden von PHP nur aus Sicherheitsgründen sozusagen
als kleinster gemeinsamer Nenner aller Datenbanken hinzugefügt
Man muss sie eigentlich immer wieder entfernen, bevor man die
Daten irgendwie ausgibt, egal ob HTML oder Textarea oder <input ...>
4. MySQL erfordert auch die Maskierung weiterer Zeichen. Das macht
mysql_[real_]escape_string() für uns.
5. Man kann also, wenn man daran denkt, vor der Übergabe an die DB-API
die datenbanktypische Maskierung durchzuführen, den Schaltger in der
php.ini -> magic_quotes_gpc = on auf OFF stellen. dann muss
stripslashes() nicht mehr bemüht werden, oder man kann danach fragen,
wie der Schalter steht, und die Paramterarrays dann "großtechnisch"
wieder bereinigen. Dazu eigent sich die eigene Funktion strip() in
diesem Thread weiter unten.
Wie man nun Funktionen für seine Zwecke anpasst, insbesondere wenn sie noch so kurz sind wie diese, das müsstest Du mal selber ergründen.
Liebe Grüße aus http://www.braunschweig.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen