+ Antworten
Ergebnis 1 bis 6 von 6

Thema: FlashMX Gästebuch mit PHP- Problem mit Umlauten

  1. #1
    TP-Junior ___G0D___ macht alles soweit korrekt
    Registriert seit
    Oct 2003
    Beiträge
    11

    FlashMX Gästebuch mit PHP- Problem mit Umlauten

    Vorweg möchte ich mich für diese wahrscheinlich "dumme" Frage entschuldigen, aber kenne mich leider mit der Handhabung von php-Datein überhaupt nicht aus. Ich hab mir ein FLASH-Gästebuch runtergeladen, das Layout nach meinen Bedürfnissen abgeändert, und prinzipiell funktioniert alles recht gut. Jedoch wenn Umlaute eingefügt werden, werden diese nicht dargestellt (bzw. in der dazugehörigen txt-Datei abgespeichert). Aus einem Beitrag von Adagio konnte ich entnehmen, das ich folgenden code irgendwo in meiner php-datei einfügen muss.

    function replace_umlaut($str)
    {
    $str=str_replace("ß","ss",$str);
    $str=str_replace("ä","ae",$str);
    $str=str_replace("ü","ue",$str);
    $str=str_replace("ö","oe",$str);
    $str=str_replace("Ä","Ae",$str);
    $str=str_replace("Ü","Ue",$str);
    $str=str_replace("Ö","Oe",$str);
    $str=str_replace(",","",$str);
    $str=preg_replace("/\s/s","_",$str); # Alle Leerzeichen weg
    return $str;
    }

    habs an verschiedensten stellen probiert, funkte aber nie. Könnte mir vielleicht hierbei jemand weiterhelfen, und mir den Bereich zeigen, bei dem dieser Code in mein php-file eingefügt werden soll. meine momentane php-datei sieht wie folgt aus:

    <?

    //No need to edit anything below here.
    if (!isset($name) || !isset($email) || !isset($message) || empty($name) || empty($email) || empty($message)) {
    print "&result=Fail";
    print "&errorMsg=" . urlencode("Input required for all fields.");
    exit;
    }

    $email = strtolower($email);

    addentry($name, $email, $website, $message);

    function addentry($name, $email, $website, $message) {

    $posted = strftime("%D %I:%M %p");

    $message = stripslashes($message);

    $file = fopen('entry.txt', 'a+');

    if (!$file) {
    print "&result=Fail";
    print "&errorMsg=" . urlencode("Could not open entry.txt file. Change CHMOD levels to 766.");
    exit;
    }

    fputs($file, "<font color=\"#11396D\">Name:</font><font color=\"#FFFF00\"> $name\n<font color=\"#11396D\">Email:</font><font color=\"#FFFF00\"><A href=\"mailto:$email\"> $email</A></font><br>\n<font color=\"#11396D\">Website:</font><font color=\"#FFFF00\"><A href=\"http://$website\"target=\"_blank\"> $website</A></font><br>\n<font color=\"#11396D\">Posted:</font><font color=\"#FFFF00\"> $posted\n<font color=\"#11396D\">Message:</font><font color=\"#FFFFFF\"> $message\n\n");
    fclose($file);

    // Send admin an email when new entry occurs
    mailAdmin($name, $email, $website, $message);
    }

    function mailAdmin($name, $email, $website, $message) {
    $mailTo = "you@yoursite.com";
    $mailFrom = "From: <you@yoursite.com>";
    $mailSubject = "New Guestbook Entry";
    $mailBody = "A visitor to your site has left the following information in your guestbook:\n
    Name: $name
    Email: $email
    Website: $website
    The visitor commented:
    ------------------------------
    $message
    ------------------------------
    You can view the message at:
    http://www.yoursite.com";
    mail($mailTo, $mailSubject, $mailBody, $mailFrom);
    mail($email, "Your Subject", "Thank you message", "From: you@youremail.com");
    }

    print "&result=okay";
    exit;

    ?>

    Ich denke, die flash Datei (*.fla) ist zur Lösung meines Problemes nicht erforderlich.

    mfg mb

  2. #2
    TP-Senior Johannes ist auf einem guten Weg
    Registriert seit
    Oct 2003
    Ort
    Papenburg
    Beiträge
    134
    Füge mal folgendes ein:

    PHP-Code:
    function replace_umlaut($str)
    {
    $str=str_replace("ß","ss",$str);
    $str=str_replace("ä","ae",$str);
    $str=str_replace("ü","ue",$str);
    $str=str_replace("ö","oe",$str);
    $str=str_replace("Ä","Ae",$str);
    $str=str_replace("Ü","Ue",$str);
    $str=str_replace("Ö","Oe",$str);
    $str=str_replace(",","",$str);
    $str=preg_replace("/\s/s","_",$str); # Alle Leerzeichen weg
    return $str;
    }

    $message replace_umlaut($message);
    $name replace_umlaut($name); 
    Das ganze über folgender Zeile einfügen:
    $email = strtolower($email);
    Geändert von Johannes (18.11.2003 um 16:05 Uhr)

  3. #3
    TP-Junior ___G0D___ macht alles soweit korrekt
    Registriert seit
    Oct 2003
    Beiträge
    11
    Jetzt funkts einwandfrei!
    Danke für die schnelle Hilfe.

  4. #4
    TP-Junior ___G0D___ macht alles soweit korrekt
    Registriert seit
    Oct 2003
    Beiträge
    11

    Talking

    zu bewundern jetzt auf
    http://mitglied.lycos.de/beyermarkus/

    ;-)

  5. #5
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Kann Flash nicht mit Umlauten umgehen? Oder warum werden die nicht in der Datei abgespeichert? Kann es sein, dass das Encoding einfach nicht passt, bzw. Flash mit UTF-8 arbeitet und somit für dich kryptische Zeichen als Umlaut ablegt?

    Gruss
    Jan

  6. #6
    TP-Junior ___G0D___ macht alles soweit korrekt
    Registriert seit
    Oct 2003
    Beiträge
    11
    Ich denke, da wirst du mit deiner Vermutung recht haben bezüglich dem falschen Encoding. Werde mich noch mal mit der Materie genauer beschäftigen, bin ja noch ein Anfänger. ;-) (Zurzeit hab ich noch keine Ahnung davon, also kann ich auch nichts dazu sagen)
    Aber auf umgekehrten Weg, also wenn ich einen Text mit Umlauten in die txt-Datei abspeichere, wird es richtig in Flash dargestellt. Folglich funkt nur das abspeichern mit Umlauten in meinen Fall nicht.

    Grüsse
    mb

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

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