conrad: daten werden aus DB nicht richtig gelesen

hallo,

ich trage in meine mysql datenbank folgendes ein.

<a href="http://www.test.de">test</a>

wenn ich jetzt aus der datenbank wieder auslese und z.b. in INPUT TEXT bearbeiten will schreibt er mir nur folgendes:

<a href=

warum?

wie muß ich php sagen, dass das ein inhalt ist?

gibt es dazu eine spezielle funktion?

danke

  1. Hi,

    wenn ich jetzt aus der datenbank wieder auslese und z.b. in INPUT TEXT bearbeiten will schreibt er mir nur folgendes:

    wie lautet der von PHP ausgegebene Quellcode?

    wie muß ich php sagen, dass das ein inhalt ist?

    Gar nicht, PHP hat da kein Problem. Sag es lieber HTML.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. gab es nicht in php so eine fkt., htmlspecialchars oder so, um es richtig in die DB einzutragen bzw. auszulesen?

      wie kann ich es machen?

      1. hi,

        gab es nicht in php so eine fkt., htmlspecialchars oder so,

        Die gibt es sogar noch - sie bringt nur hier nichts.

        um es richtig in die DB einzutragen bzw. auszulesen?

        Auch das ist nicht ihre Aufgabe.

        wie kann ich es machen?

        Erzeuge korrektes HTML - in diesem Falle insb. einen korrekten Attributwert.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi,

          um es richtig in die DB einzutragen bzw. auszulesen?

          hoppla, es ist schon spät - da habe ich doch glatt einen Kapitalfehler übersehen.

          Auch das ist nicht ihre Aufgabe.

          Jupp. Die Datenbank ist kein HTML-Kontext; es ergibt nicht den geringsten Sinn, dort eine HTML-Kodierung durchzuführen.

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
      2. Hi,

        gab es nicht in php so eine fkt., htmlspecialchars oder so, um es richtig in die DB einzutragen bzw. auszulesen?

        die gab es nicht nur, die gibt es immer noch.

        wie kann ich es machen?

        Indem Du die PHP-Dokumentation zu Rate ziehst. Oder willst Du wegen jedem bisschen, das Du zufällig gerade nicht auswendig kennst, Menschen fragen müssen?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. Guten Tag allerseits,

    dass das an dem Anführungszeichen liegt kannst du dir wohl schon selber denken. Aber gib bitte nicht gar so viele Informationen und Codezeilen.</ironie>

    Gruß,
    Der fette Mo

    --
    Signature/1.0 13.09.06
    Server: DerFetteMo/2.0 (Human being)
    Location: Augsburg
    Content-Language: de-by
    Content-Type: text/bullshit
    X-Powered-By: Jacobs coffee, System of a down music, Edelstoff beer
    Connection: keep-alive
  3. Hi!

    ich trage in meine mysql datenbank folgendes ein.
    <a href="http://www.test.de">test</a>

    Sicher?
    Wenn ich mir das so durchlese, vermute ich, daß du nur bis zum ersten Double-Quote einträgst...

    wenn ich jetzt aus der datenbank wieder auslese und z.b. in INPUT TEXT bearbeiten will schreibt er mir nur folgendes:
    <a href=
    warum?

    Weil der String mit den Double-Quotes beendet wird. Logisch, oder?

    Ich vermute auch mal, daß dieses Problem nicht erst beim Auslesen der Daten auftritt, sondern schon beim Eintragen.
    Vermutlich ist in deiner Tabelle gar nicht mehr als <a href= enthalten.

    wie muß ich php sagen, dass das ein inhalt ist?

    Du mußt PHP gar nichts von Inhalt sagen.
    Du mußt deine Quotes escapen.

    Vielleicht solltest du mal einen Blick in das PHP-Handbuch werfen.
    Das gehört zu den absoluten Grundlagen in Bezug auf den Umgang mit Strings.

    gibt es dazu eine spezielle funktion?

    Es gibt addslashes() und stripslashes() und dann kannst du natürlich auch noch manuell escapen.

    Und dann gibt es noch die Magic Quotes, womit ich aber vorsichtig sein würde...
    Ich rate dazu, sich besser selbst darum zu kümmern.

    http://www.php-faq.de/search.php?q="magic_quotes"

    Schöner Gruß,
    rob

    1. echo $begrüßung;

      gibt es dazu eine spezielle funktion?
      Es gibt addslashes() und stripslashes() und dann kannst du natürlich auch noch manuell escapen.

      Im Zusammenhang mit MySQL (und auch anderen Datenbanken) sind diese Funktionen aber nicht zu empfehlen. addslashes() beachtet zu wenig Zeichen. Und wenn du stripslashes() auf die Datenbankausgaben anwenden musst, hast du beim Eintragen schon einen Fehler gemacht. (Und jetzt komm nicht mit dem Argument, stripslashes() braucht man gegen Magic Quotes. Das wäre zwar richtig, aber betrifft die Eingabedatenbehandlung und nicht die Ausgabe in Datenbanken. Wenn du beide Vorgänge gemischt hast, dann ist dein Programmdesign nicht besonders gut.)

      echo "$verabschiedung $name";