Hi!
Hab das Problem jetzt so gelöst:
//Magic Code Problem beheben
function magicQuotes($post){
if(get_magic_quotes_gpc()){
return stripslashes($post);
}else{
return;
}
}echo magicQuotes($row['text']);
Das ist aber nicht richtig und funktioniert nur, weil grad die MQs bei dir aktiv sind. Wenn sie jemand ausschaltet, dann hast keine Ausgabe mehr, weil die Funktion nichts zurückgibt. Außerdem solltest du sie nicht auf die aus dem DBMS kommenden Daten anwenden sondern auf die Eingabedaten ($\_GET/$\_POST). Im DBMS sind sie die zusätzlichen Zeichen nicht nur unnütz sondern manchmal auch hinderlich. Sie müssen da gar nicht reinkommen.
Das Feature Magic Quotes ist schon seit einer langen Zeit abgekündigt und in den Default-Einstellungen deaktiviert. Trotzdem wird es bei den Webhostern gern wieder aktiviert, um wenigstens ein klein wenig Sicherheit gegen SQL-Inection zu haben, wenn sich der Programmierer dazu überhaupt keine Gedanken gemacht hat. Da du aber in deinem ersten Codeausschnitt gezeigt hast, dass dir das Thema bewusst ist, kannst und solltest du versuchen, die Magic Quotes generell zu deaktivieren. Sie im Code nachträglich zu entfernen, nachdem sie PHP unnötigerweise eingefügt hat, ist nur die zweitbeste Lösung. Wenn man sie nicht generell deaktivieren kann, sollte man zumindest die Entfernungsprozedur nur einmal und am Scriptanfang ausführen lassen, statt an jeder Verwendung einen individuellen Prüfaufruf einzubauen. Für beide Wege hat das PHP-Handbuch im [Kapitel zu den Magic Quotes](http://de.php.net/manual/en/security.magicquotes.php) einen Abschnitt für die [Deaktivierung](http://de.php.net/manual/en/security.magicquotes.disabling.php).
Lo!