ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Feherl beim postedit (BBCode 2.0)

Geschlossen
  1. #1
    User Pic
    chefkoch Mitglied
    Registriert seit
    19.02.2006
    Beiträge
    43
    Beitragswertungen
    0 Beitragspunkte
    Hi,

    ich habe ein Problem festgestellt.
    Hängt eventuell mit dem BBCode 2.0 für 1.1F zusammen!

    Wenn man einen Forum-Post ändern möchte, werden im zu ändernden Text dann Umlaute ( äöüß ) leider falsch dargestellt.

    Gibt man in dem Text aber dann wieder neue Umlaute hinzu, werden die beim Abspeichern aber korrekt angezeigt... die zuvor falsch dargestellten Umlaute bleiben leider verkehrt :-(

    Also es wird dann nur der Text, der geändert werden soll bzw. der in das Änderungs-Eingabefeld automatisch eingefügt wird, falsch formatiert.

    Ob es an der edit_post.php oder postedit.html

    Hat jemand ne idee? ist ärgerlich , wenn jemand im Forum einen längeren Text ändert und vieles dann falsch angezeigt wird!!!


    Grüße, [AWB] Chefkoch


    verwendete ilchClan Version: 1.1

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also mit BBCode sollte es eigentlich nix zu tun haben, der hat nur mit der Ausgabe was zu tun. Ich weiß allerdings auch nicht woran es liegt, wenn es nur beim Editieren kommt.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    chefkoch Mitglied
    Registriert seit
    19.02.2006
    Beiträge
    43
    Beitragswertungen
    0 Beitragspunkte
    Na irgendwie eventuell doch.
    Also der BBCode selber hat keinen Fehler, denke ich... aber die edit_post.php, wo der entsprechende Eintrag fehlt!!

    Der Text wird ja ausgeben ... und zwar direkt im Texteingabefeld!

    Dieser wird allerdings "stumpf" aus der Datenbank gelesen und ohne Umwandlung ins Textfeld eingefügt (soweit ich das aus der edit_post.php ersehen kann).

    Vermutlich muß er in etwa dieser Form umgewandelt werden:

    $txt = BBCode($row->text)

    oder so ähnlich... hab die datei grad nicht vor augen und kanns erst später selber mal testen!
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    chefkoch Mitglied
    Registriert seit
    19.02.2006
    Beiträge
    43
    Beitragswertungen
    0 Beitragspunkte
    Ok ... Fehler scheinbar gefunden.

    Es lag vermutlich am Update auf ilch 1.1 G / Ein Teil der edit_post.php wurde verändert:

    neu (ilch 1.1 G):
    if (isset($_POST['priview'])) {
    $tpl->set_out('txt', bbcode(unescape($txt)), 0);


    vorherige version der datei (dann werden die Umlaute wieder korrekt angezeigt):
    if (isset($_POST['priview'])) {
    $tpl->set_out('txt', bbcode($txt), 0);



    Hab's geändert und alles klappt wieder prima!
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Auch wenn ich dich enttäuschen muss, der Code den du gepostet hast ist für die Vorschaufunktion und nicht für das Texteingabefeld, also wenn es danach geht, ist es eher sehr verdächtig und geändert wurde das, damit keine \ vor ' oder " oder \ in Texten beim editieren erscheinen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    chefkoch Mitglied
    Registriert seit
    19.02.2006
    Beiträge
    43
    Beitragswertungen
    0 Beitragspunkte
    Stimmt... hab's auch grad bemerkt!

    es ist diese Zeile weiter unten:
    'txt' => (isset($_POST['priview']) ? escape_for_fields(unescape($txt)) : escape_for_fields($txt2)),

    früher:
    'txt' => $txt2,

    ... dudurch werden Umlaute wieder normal !!!
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Kannst du es mal mit der Zeile probieren:
        'txt' => (isset($_POST['priview']) ? $txt: escape_for_fields($txt)),

    Warum ist das bei dir $txt2, das sollte eigentllich $txt sein?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    chefkoch Mitglied
    Registriert seit
    19.02.2006
    Beiträge
    43
    Beitragswertungen
    0 Beitragspunkte
    Wenn ich das so einfüge, wie du schriebst, hab ich wieder keine Umlaute :-(

    $txt2 bei mir, weil ich noch etwas umgeschrieben habe... weil es Probleme gibt bei dem Postanhang: "Zuletzt modifiziert ...", wenn im Namen desjenigen zB "[" , "]" , " " (zB beim ClanTag) vorkommen.

    Dann wird die Zeile nicht erneuer, sondern doppelt ausgegeben, weil diese Zeile falsch erkannt und für das Script als nich tvorhanden gilt!!
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten