Ankündigung

Einklappen
Keine Ankündigung bisher.

Bekanntest Thema ' (Hochkomma) und mySQL

Einklappen

Neue Werbung 2019

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

  • Bekanntest Thema ' (Hochkomma) und mySQL

    Hallo, das Thema habe ich zwar schonmal gefunden, allerdings noch keine Antwort, mit der ich was anfangen kann. Ich schreibe die Daten (wo öfters ein Hochkomma vorkommt) mit mysql_real_escape_string(...) in die Datenbank. Funktioniert auch. Jetzt will ich die auch genauso wieder ausgeben.

    Wie mache ich das?

    Der schneidet den Eintrag bei der Ausgabe immer genau an dem Hochkomma ab.

    Gruß,
    Gomilli

  • #2
    htmlentities()
    macht zumindest aus " ein " und damit die Ausgabe in Ordnung, wenn der Attributwert in " steht.
    Bei Singlequotes weiß ich es ehrlich gesagt grade nicht, aber da ich die für HTML-Attribute eh konsequent nicht verwende, ist mir das auch egal :P

    Kommentar


    • #3
      vllt solltest du mit stripslashes arbeiten ...

      oder auch addslashes

      Kommentar


      • #4
        Und ggf doppelte Anf�hrungszeichen bei Eigenschaften von html Objekten.
        Kein mysql Problem, sondern eines mit der HTML Codierung
        Code:
        <html>
        	<head>
        	</head>
        	<body>
        		<textarea>Hier sind ' kein Problem. " auch nicht. Aber &lt; muss als &amp;lt; geschrieben werden</textarea>
        		
        
        		<input type="text" readonly="readonly" value="abc&quot;<def>" />
        		
        
        		<input type="text" readonly="readonly" value='abc'<def>' />
        	</body>
        </html>
        Grmpf....der Wert von value beim letzten input soll abc&#39;<def> sein.
        Kann ich hier aber offenbar nicht so eingeben

        Kommentar


        • #5
          Oder du nimst Prepared Statements, dann kümmert es dich nciht mehr b du irgendwo zufällig ein 'verbotenes' Zeichen hast.
          ADODB bietet das z.B. ziemlich DB-unabhängig und simpel an.

          Kommentar


          • #6
            Es geht ja eben nicht um ein Datenbankproblem
            Zitat von Gomilli
            Ich schreibe die Daten (wo öfters ein Hochkomma vorkommt) mit mysql_real_escape_string(...) in die Datenbank. Funktioniert auch.
            Datenbank: abgehakt.
            Problem: Ausgabe
            Zitat von Gomilli
            Jetzt will ich die auch genauso wieder ausgeben.

            Wie mache ich das?

            Der schneidet den Eintrag bei der Ausgabe immer genau an dem Hochkomma ab.

            Kommentar


            • #7
              Naja, wenn man es quasi unverändert in die DB haut, kann man es auch so wieder rausholen.
              dh. Der zweite schritt, also die eigendliche Frage würde sich erübrigen, weil es ja im unveränderten Zustand wieder rauskommt. Also auch nix abgeschnittenes nach den ersten Hochkommata.

              ..is ja nur ein Vorschlag. Ich habs gern wenn andere Leute sich das Arbeiten nicht zu einfach machen, hab ich selbst wenigstens kein schlechtes Gewissen, wenns mal wieder länger dauert

              Kommentar


              • #8
                Zitat von DerDesian
                Der zweite schritt, also die eigendliche Frage würde sich erübrigen, weil es ja im unveränderten Zustand wieder rauskommt. Also auch nix abgeschnittenes nach den ersten Hochkommata.
                In dem Moment, in dem du diesen Text, der auch Anführungszeichen und Hochkommata erhält innerhalb von Attributen von HTML-Elementen verwendest, wird der Browser dies als Ende des Attributswertes interpretieren und die eigentliche Zeichenkette wird abgeschnitten.

                Kommentar


                • #9
                  Ok. An das <input value="<?PHP echo $wasNichtCodiertes; ?>" />-Problem hab ich grad so gar nicht gedacht..
                  Sollte vielecht mal mehr als den ersten Beitrag lesen
                  => also <input value="<?PHP echo htmlentities($beliebigerText); ?>" />

                  Kommentar

                  Lädt...
                  X