Einfache JavaScript verschachtelung

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


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

      Danke für die schnelle und kompetente Antwort

      MfG
      Onyx

      Comment


      • #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
        Last edited by Onyxagargaryll; 22-05-2008, 11:59.

        Comment


        • #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
          Last edited by Onyxagargaryll; 23-05-2008, 10:42.

          Comment


          • #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
            Last edited by Onyxagargaryll; 23-05-2008, 10:43.

            Comment


            • #7
              Tuts doch???

              Comment


              • #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*

                Comment


                • #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

                  Comment


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





                    OffTopic:
                    ...*Closed*

                    Comment

                    Working...
                    X