Keine Sonderzeichen in Gästebuch
| 01.12.2009, 20:59 | | Beiträge: 170 Registriert: Jun 2007
| Keine Sonderzeichen in Gästebuch Hallo zusammen.
Ich habe schon vor längerer Zeit in Flash ein Gästebuch erstellt. Nun habe ich es zum testen online gestellt und mir ist aufgefallen das Sonderzeichen (%&+- etc.) nicht angezeigt werden. Wenn ich einen Eintrag schreibe wie diesen:
Hallo guckt mal unter "Kontakt".
Sieht dieser danach so aus:
Hallo guckt mal unter \"Kontakt\".
Habe leider noch keine Lösung gefunden. Die Einträge aus Flash werden gespeichert und auch wieder ausgelesen. Habe die TXT zum auslesen in UTF-8 gespeichert, hatte zuvor Probleme mit ÄäÖö etc.
Habe hier mal das jeweilige Script:
Auslesen:
PHP:1 2 3 4 5 6 7 8 9 10 11 12 13
|
<?
$dateiname = "gaestebuch.txt";
$datei = fopen($dateiname, "r");
$wert = fgets($datei, 100000);
fclose($datei);
print "&main=$wert";
?>
|
gaestebuch.php
PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
<?
include("settings.php");
// Zähler für das Gästebuch - Anfang /////////////////////////////////////////////////////////////////
$dateinameb = "count_gaestebuch.txt";
$dateib = fopen($dateinameb, "r");
$wertb = fgets($dateib, 255);
parse_str($wertb);
fclose($dateib);
$zahlgaestebuch=$zahlgaestebuch+1;
$dateib = fopen($dateinameb, "w");
fputs($dateib, "zahlgaestebuch=$zahlgaestebuch");
fclose($dateib);
// Zähler für das Gästebuch - Ende ////////////////////////////////////////////////////////////////////
// Gästebuch lesen und schreiben - Anfang ////////////////////////////////////////////////////////
$gname = $_POST["name"];
$gmail = $_POST["mail"];
$gcomment = $_POST["comment"];
$gwebsite = $_POST["website"];
$datestamp = date("d.m.Y - H:i");
$dateiname = "gaestebuch.txt";
$datei = fopen($dateiname, "r");
$wert = fgets($datei, 100000);
fclose($datei);
$neu_inhalt = "<font color=\"$topiccolor\">Nr.: $zahlgaestebuch Am: $datestamp</font><br><font color=\"$textcolor\">Name:</font><font color=\"$inputtextcolor\"> $gname</font><br><font color=\"$textcolor\">E-Mail:</font><font color=\"$inputtextcolor\"><a href=\"mailto:$gmail\">$gmail</a></font><br><font color=\"$textcolor\">Homepage:</font><font color=\"$inputtextcolor\"><a href=\"$gwebsite\" target=\"_blank\">$gwebsite</a></font><br><font color=\"$textcolor\">Nachricht:</font><font color=\"$inputtextcolor\"> $gcomment</font><br><font>-------------------------------------------------------------------</font><br> $wert";
$finden = array( 'kack' , 'fick' , 'ficken' , 'idiot' , 'scheisse' , 'ficken' , 'kacken' , 'kotzen' , 'pimmel' , 'penis' , 'dödel' , 'fotze' , 'hure' , 'nutte' , 'bitch' , 'arsch' , 'rosette' , 'hoden' , 'wichser' , 'wixxer' , 'wichsen' , 'wixxen' , 'scheissen' , 'vagina' , 'krüppel' , 'pissen' , 'pisser' , 'drecks' , 'sau' , 'fuck' , 'piss' , 'pissen' , 'penner' , 'votze' , 'nazi' , 'schlampe' , 'spast' , 'spasti');
$ersetzen = ( ' *** ');
$neu_inhalt = str_ireplace($finden, $ersetzen, $neu_inhalt);
$datei = fopen($dateiname, "w");
fputs($datei, $neu_inhalt);
fclose($datei);
$signal=1;
echo "signal=$signal";
// Gästebuch lesen und schreiben - Ende////////////////////////////////////////////////////////
// Mail an Webmaster ////////////////////////////////////////////////////////
$MailTo ="";
$MailFrom ="";
$mailinhalt = "<font color=\"$topiccolor\">Nr.: $zahlgaestebuch Am: $datestamp</font><br><font color=\"$textcolor\">Name:</font><font color=\"$inputtextcolor\"> $gname</font><br><font color=\"$textcolor\">E-Mail:</font><font color=\"$inputtextcolor\"><a href=\"mailto:$gmail\">$gmail</a></font><br><font color=\"$textcolor\">Homepage:</font><font color=\"$inputtextcolor\"><a href=\"$gwebsite\" target=\"_blank\">$gwebsite</a></font><br><font color=\"$textcolor\">Nachricht:</font><font color=\"$inputtextcolor\"> $gcomment</font><br><font>-------------------------------------------------------------------</font>";
mail("$MailTo","Gästebuch // Eintrag Nr.: $zahlgaestebuch","$mailinhalt",
"From: $MailFrom
Content-Type: text/html");
?>
|
Die gaestebuch.txt ist leer und in UTF-8 gespeichert.
Was ich auch komisch finde, die Mail Funktion geht nicht. Ich habe jetzt meine Mail darausgenommen aber wenn ich sie in das Script schreibe bekomme ich keine Mail wenn ein Eintrag geschrieben wurde, zudem auch nicht bei meinem Kontakformular. Auf einem anderen Server geht es bei dem Kontaktformular. Der jetztige Server unterstüzt auch PHP sonst würde er mir die Einträge ja auch nicht anzeigen.
Ich bin ratlos.
Würde mich sehr über eine Antwort freuen.
-->LG<-- | Geändert von DaFuNsEl am 01.12.09 um 20:59 Uhr
| |
|
| 23.02.2010, 16:01 | Re1 | Beiträge: 170 Registriert: Jun 2007
Themenautor/in
| Habe bis lang noch keine Lösung. Würde mich sehr freuen, wenn jemand einen Rat hätte. Das Problem ist heute wieder aufgetreten. Folgenes steht im GB:
-w?end
-Verst?nis
Nur das an Stelle der Frage zeichen, Chinesische Zeichen oder so sind.
Auch einige Kästchen sind zu sehen. Ich bin völlig ratlos.
-->LG<-- | Geändert von DaFuNsEl am 23.02.10 um 16:01 Uhr
| |
|
| 24.02.2010, 11:13 | Re2 | Beiträge: 2852 Wohnort: Köln Registriert: Oct 2007
| Hallo,
hab mal bei mir nachgeschaut und ein altes Forum auf txt-Datei Basis gefunden. Dabei habe ich die Einträge so gespeichert:
PHP:1 2 3 4 5 6 7
|
<? $forum_answer = $_POST["comment"];
$forum_answer = stripslashes($forum_answer);
$forum_answer = htmlentities($forum_answer);
$forum_answer = str_replace("\n", " <br>", $forum_answer); ?>
|
Das stripslashes entfernt dir die "\" vor den Worten.
htmlentities wandelt ALLE Zeichen in Html-Code um, somit kannst du diese dann in JEDES txt-Dokument speichern, da es danach im dem String keine Sonderzeichen mehr gibt.
Der Rest ist für die Zeilenumbrüche da.public Weltformel(Problem){
if (Problem gelöst) return Lösung;
else Weltformel(kleiners Problem);
} | |
| | | nicht sichtbar bei eingeloggten Mitgliedern |
|
| 24.02.2010, 15:51 | Re3 | Beiträge: 170 Registriert: Jun 2007
Themenautor/in
| Hi.
Danke für die schnelle Hilfe.
Ich habe mal bei mir nachgeschaut. Habe das Script auch nur mit Hilfe von anderen Leuten hinbekommen. Bin nicht so der Prof in PHP. Ist auch schon eine Weile her, als ich das GB gemacht habe. Ich hoffe mal das ich es so richtig übernommen habe.
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | // Gästebuch lesen und schreiben - Anfang ////////////////////////////////////////////////////////
$gname = $_POST["name"];
$gmail = $_POST["mail"];
$gcomment = $_POST["comment"];
$gcomment = stripslashes($gcomment);
$gcomment = htmlentities($gcomment);
$gwebsite = $_POST["website"];
$datestamp = date("d.m.Y - H:i");
$dateiname = "gaestebuch.txt";
$datei = fopen($dateiname, "r");
$wert = fgets($datei, 100000);
fclose($datei);
$neu_inhalt = "<font color=\"$topiccolor\">Nr.: $zahlgaestebuch Am: $datestamp</font><br><font color=\"$textcolor\">Name:</font><font color=\"$inputtextcolor\"> $gname</font><br><font color=\"$textcolor\">E-Mail:</font><font color=\"$inputtextcolor\"><a href=\"mailto:$gmail\">$gmail</a></font><br><font color=\"$textcolor\">Homepage:</font><font color=\"$inputtextcolor\"><a href=\"$gwebsite\" target=\"_blank\">$gwebsite</a></font><br><font color=\"$textcolor\">Nachricht:</font><font color=\"$inputtextcolor\"> $gcomment</font><br><font>---------------------------------------------------------------</font><br> $wert";
$finden = array(Hier stehen böse Wörter);
$ersetzen = ( ' *** ');
$neu_inhalt = str_ireplace($finden, $ersetzen, $neu_inhalt);
$datei = fopen($dateiname, "w");
fputs($datei, $neu_inhalt);
fclose($datei);
$signal=1;
echo "signal=$signal";
// Gästebuch lesen und schreiben - Ende////////////////////////////////////////////////////////
|
Nochmals vielen Dank...
-->LG<-- | |
| | Themen Ähnliche Beiträge zum Thema | 28.02.2010 - DaFuNsEl 13.12.2010 - tobi-848 22.11.2010 - Dirschedl 24.05.2011 - manuel_g |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|