Einfache JavaScript verschachtelung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Einfache JavaScript verschachtelung

    Hallo Forum!

    Folgendes Problem:

    In einem AJAX-File kreiere ich einen JavaScript-Output, der folgendermassen aussieht:

    PHP-Code:
    echo("<input 
    type=\"button\" 
    class=\"cbutton\" 
    value=\""
    .$guilds['GuildName']."\" 
    onmouseover=\"guilddescription(\'"
    .$guilds['GuildName']."\',\'"
    .$guilds['Description']."\',\'"
    .$num."\',\'"
    .$leader."\',\'"
    .$contact."\')\" /><br />"); 
    Das Script führe ich aus, wobei er mir dann folgenden Button generiert:
    Code:
    <input 
    class="cbutton" 
    type="button" 
    onmouseover="guilddescription('Doidel's Guild',
    'Youll be able to create a more detailed description with your next login',
    '1',
    'Doidel',
    'Doidel')" 
    value="Doidel's Guild"/>
    Die Aufmerksamen merken: Doidel's Guild!
    Für den Namen habe ich zwar beim Eintragen htmlentities benutzt (sieht in der DB so aus: Doidel&# 039;s Guild), da ich aber einfach nur ein echo mache, wandelt er mir das in ein normales ' um.

    Hat jemand einen Vorschlag, wie man das umgehen könnte? Irgend ne komplizierte aber wirksame Maskierung o.ä.?


    Danke im Voraus, MfG
    Onyx


    PS: Entschuldigt die jetztige komische Maskierung etc.. habe alle Arten von ' und " an unmöglichen Stellen verwendet, darum das Durcheinander

  • #2
    Du musst das ' mit einem Backslash maskieren, dann kommt auch JS damit klar.

    Für den Namen habe ich zwar beim Eintragen htmlentities benutzt (sieht in der DB so aus: Doidel&# 039;s Guild),
    Das ist natürlich Mist! Die Reihenfolge ist so:
    • In die Datenbank schreiben: mysql_real_escape_string
    • Ausgaben im Web: htmlentities

    Kommentar


    • #3
      Ahja klar, mit der richtigen Reihenfolge ginge es

      Danke für die schnelle und kompetente Antwort

      MfG
      Onyx

      Kommentar


      • #4
        Es ist mir doch noch net so klar...

        Ein User tippt ein: Doidel's Guild
        In der DB steht (durch escapen): Doidel\ 's Guild

        Ich lese es aus:
        Variante 1 mit htmlentities:
        Code:
        guilddescription(\ 'Doidel \ &#039;s Guild\ ');
        Variante 2 mit addslashes:
        Code:
        guilddescription(\ 'Doidel \ \ \ 's Guild\ ');
        Ich gebe die Varianten aus mit echo:
        Variante 1:
        Code:
        guilddescription('Doidel's Guild');
        Variante 2:
        Code:
        guilddescription(\ 'Doidel\ \ \ 's Guild\ ');

        Resultat ist bei mir nun folgendes:
        Variante 2 funktioniert, Variante 1 logischerweise nicht.
        Ich muss ehrlich gestehen, ich hab ein ziemliches Durcheinander :S Gibt es sonst noch Wege / Methoden, um das ganze effektiv zu escapen?

        Dank im Voraus für eure Hilfe!

        MfG
        Onyxagargaryll


        PS: Die Abstände (z.B. \ \ \ ) sind dazu da, dass die slashes wirklich angezeigt werden

        EDIT: Wenn ich statt ein ' ein " nehme, funktionierts nicht
        Zuletzt geändert von Onyxagargaryll; 22.05.2008, 12:59.

        Kommentar


        • #5
          Hier habe ich ein simples Beispiel kreiert von dem, was ich machen möchte:

          PHP-Code:
          echo ('gelöscht'); 
          der link zum problem


          Meine Frage: Muss das wirklich so aussehen? Gibt es Alternativen?

          MfG
          Onyx

          EDIT: scheisse, es zeigt es nicht richtig an... mom editiere den beitrag später nochmal...
          EDIT: URL hinzugefügt, dort findet ihr das Problem
          EDIT: Sollte mein Problem ein wenig wirr / unbegreifbar klingen, bitte sagen
          Zuletzt geändert von Onyxagargaryll; 23.05.2008, 11:42.

          Kommentar


          • #6
            Einfache JavaScript verschachtelung

            Hallo Forum!

            Zu meinem Thread von gestern habe ich das Problem gefunden, es liegt beim JavaScript:

            Hier der link

            Warum funktioniert das nicht? Ich escape ja brav...

            htmlentities o.ä. nützt mir in dem Fall ja nicht viel.. hat jemand ein wenig Aufklärung für mich?


            MfG
            Onyxagargaryll
            Zuletzt geändert von Onyxagargaryll; 23.05.2008, 11:43.

            Kommentar


            • #7
              Tuts doch???

              Kommentar


              • #8
                haha, ja, seit 5 minuten ^^
                Es gibt halt immernoch Idioten auf der Welt, denen nicht in den Sinn kommt, nach \nl's o.ä. im JavaScript zu suchen... Es lag gar net an den Maskierungen..

                OffTopic:
                Und so geht wieder ein unrühmliches Kapitel meiner Programmierkarriere zu ende.


                Danke für die Hilfe

                MfG

                *Closed*

                Kommentar


                • #9
                  Original geschrieben von Onyxagargaryll

                  Danke für die Hilfe

                  MfG

                  *Closed*
                  OffTopic:

                  dir is schon klar das hier eigentlich nie threads geclosed werden außer der thread missachtet die foren regeln :P
                  Bitte Beachten.
                  Foren-Regeln
                  Danke

                  Kommentar


                  • #10
                    OffTopic:
                    *@#¢§6¦#°SPAM¦#@°¢FLUCH¦@*





                    OffTopic:
                    ...*Closed*

                    Kommentar

                    Lädt...
                    X