PHP - CODE GEHT NICHT:-(
$text = $_POST['text']; $text = stripslashes(htmlspecialchars($text));
$text = strreplace("ß", "ß",$text); $text = strreplace("ü", "ü ;",$text);
Was ist daran falsch? Ist aus einem Chat. Wenn man ß eingibt soll man auch ß erhalten und nicht kauderwelsch:-) Das bewirkt das untere.. Aber iwie geht es nicht... Ich komme nur nicht drauf, warum... :-(
-
- Bitte benutze doch die Codebeispiel-Funktion, wenn du Quelltext in einer Frage oder eine Antwort benutzen willst, so schwer ist das ist...
- Daran ist an und für sich erst einmal nichts falsch, es fehlen aber ein paar Infos, die zur Lösung deines Problems beitragen könnten:
Wie sieht die Ausgabe denn aus? Wie sieht der Inhalt in der Datenbank aus? (Mal mit phpmyadmin prüfen)? Welche Zeichencodierung verwendest du in mysql und welche im Webserver?
Wenn du Fehlermeldungen bekommst, teile sie auch mit.
-
Antwort von chrisbrei 31.12.2012
str_replace ist die korrekte schreibweise! und das mit "ß" -> "ß" bewirkt gar nichts.. da geht es um den zeichensatz deiner seite bei der ausgabe! Wenn deine HTML Seite z.b. einen ASCII Zeichensatz hat, kann "ß" gar nicht angezeigt werden. ()
-
-
Es reicht, wenn du bei der Ausgabe nur htmlspecialchars() verwendest, so lang Magic quotes deaktiviert ist. Das sollte es auf jeden Fall ;-)
Kommentar von Reditec 31.12.2012schreib mal pls code, bin noch php anfänger:(
wenn ich den von cevee nehme gehts net:-(
<? sessionstart(); if(isset($SESSION['benutzer'])) { $username = $SESSION['benutzer']; $connect = mysqlconnect("localhost","reditecsql1","gras78") or die("Couldn't connect to database!"); mysqlselectdb("reditecsql1") or die("Couldn't find database!");
$query = mysqlquery("SELECT Vorname FROM benutzer WHERE name='$username'"); $query = mysqlfetch_assoc($query); $query = $query['Vorname'];
$text = $_POST['text']; $text = stripslashes(htmlspecialchars($text));
$text = strreplace("ß","ß",$text); $text = strreplace("ü","ü",$text);
if ($SESSION['benutzer']=="Enorion" OR $SESSION['benutzer']=="spielereditec") { $query = "".$query.""; $text = "".$text.""; }
$fp = fopen("messages.html", 'a'); fwrite($fp, "
(".date("g:i A").") ".$query.": ".$text."
"); fclose($fp); } ?>Kommentar von Dennis193Dennis193 31.12.2012So würde ich es machen: http://pastebin.com/AtchKMvv
Ich weiß allerdings nicht, was du mit Zeile 12-16 bezwecken willst.
-
-
$text = strreplace("ß", "ß",$text);Kommentar von Reditec 31.12.2012Ok Danke:-) Kannste mir erklären, wie du diesen Code formatiert bekommen hast!?
Kommentar von ceeveeceevee 31.12.2012Das ist beim Kommentar schreiben oben in der Leiste das 5. Symbol von links. Das mit dem kleiner-als und dem größer-als-Zeichen.
Kommentar von Reditec 31.12.2012geht leider doch nicht:-(
<? sessionstart(); if(isset($SESSION['benutzer'])) { $username = $SESSION['benutzer']; $connect = mysqlconnect("localhost","reditecsql1","gras78") or die("Couldn't connect to database!"); mysqlselectdb("reditecsql1") or die("Couldn't find database!");
$query = mysqlquery("SELECT Vorname FROM benutzer WHERE name='$username'"); $query = mysqlfetch_assoc($query); $query = $query['Vorname'];
$text = $_POST['text']; $text = stripslashes(htmlspecialchars($text));
$text = strreplace("ß","ß",$text); $text = strreplace("ü","ü",$text);
if ($SESSION['benutzer']=="Enorion" OR $SESSION['benutzer']=="spielereditec") { $query = "".$query.""; $text = "".$text.""; }
$fp = fopen("messages.html", 'a'); fwrite($fp, "
(".date("g:i A").") ".$query.": ".$text." "); fclose($fp); } ?>
Kommentar von Reditec 31.12.2012Dann passiert nämlich garnichts:-(
Sind beides Fehler, die nur durch das falsche Einfügen des Codes in die Frage entstanden sind. Durch Unterstriche wird hier ein kursiver Text dargestellt, wie man auch in der Frage sieht. Das zweite ß war ursprünglich mal ein