[PHP] < und " aus HTML-Befehlen wird nach Datenbank als Sonderzeichen ausgegeben

Dieses Thema im Forum "Webentwicklung" wurde erstellt von =Bleistift, 27. Februar 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 27. Februar 2007
    < und " aus HTML-Befehlen wird nach Datenbank als Sonderzeichen ausgegeben

    Tach

    für mein Gästebuch lass ich wie beim BB-Code bestimmte Buchstabenkombinationen durch Bilder ersetzen.
    PHP:
    $eintrag  str_replace ( "*cool*" "<img src=\"img/sm_cool.gif\">" $eintrag );
    Nun wird aber statt dem Bild der Text "<img src=img/sm_cool.gif>" angezeigt.
    Was nun?
    Bei den anderen gehts ja auch *snief*
     
  2. 27. Februar 2007
    AW: str_replace wird durch addslashes ausgebremst

    änder mal das url teil erstmal in:

    '<img scr="img/sm_cool.gif">'

    und vertausch beides mal


    ansonsten:

    bevor du den string ausgibst mal auch ein stripslashes reinpacken

    btw wofür ist der addslashes befehl?

    wenn du das damit in die mysql db packst sollte die ausgabe keine probleme machen
     
  3. 27. Februar 2007
    AW: str_replace wird durch addslashes ausgebremst

    Den Tippfehler hab ich schon geändert.
    addslashes ist dafür da um zerstörerischen php- und sql-code rauszufiltern.


    /Edit: hab nun aber rausgefunden, dass es selbst ohne addslshes nicht funzt. Scheint also nicht daran zu liegen.

    In der Datenbank wirds als
    angezeigt.
    Wenn ich dann aber den Quelltext im Browser angucke, steht dort
    Komischerweise kommt es dann aus der Datenbank als sonderzeichen-umgewandelter Text raus.
    Kein Wunder dass es nicht als HTML erkannt wird. Wo liegt der Fehler ?
    Muss die Tabelle anders eingestellt werden ?
     
  4. 27. Februar 2007
    AW: str_replace wird durch addslashes ausgebremst

    Schau mal in die Datenbank, wie es dort abgespeichert wird, damit du weißt, ob es falsch eingetragen oder falsch ausgegeben wird.

    //Edit: Sry bin zu doof zu lesen anscheinend.


    Ok poste mal, wie dus ausgibst bitte. Und welche Eigenschaften das Feld in der Tabelle hat.
     
  5. 27. Februar 2007
    AW: str_replace wird durch addslashes ausgebremst

    `eintrag` longtext,

    ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=latin1 AUTO_INCREMENT=20 ;

    In der Datenbank steht <img src="img/sm_roll.gif">
    Wenn ichs dann wieder ausgebe, steht im Quelltext &lt;img src=&quot;img/sm_roll.gif&quot;&gt;
     
  6. 27. Februar 2007
    AW: str_replace wird durch addslashes ausgebremst

    Benutzt du bei der Ausgabe zufällig htmlentities()?
     
  7. 27. Februar 2007
    AW: str_replace wird durch addslashes ausgebremst

    hmmm poste mal bitte auch deine ausgabe

    zur not mach folgendes (was ich auch empfehle da du so wenigstens die beiträge ordentlich editieren kannst):

    mach deine BBCODE umwandlung erst vorm posten

    dh poste das ganze *cool* zB in die die db und mach dann das str_replace

    kann sein das es dann klappt

    ansonsten hast du noch irgendwelche schrifftzeichen umwandel funktionen zufällig in der ausgabe?
     
  8. 27. Februar 2007
    AW: str_replace wird durch addslashes ausgebremst

    Das ist das einzige was ich ersetze.

    Hab jetzt das Ersetzen in die Ausgabe verschoben, in der DB steht also *lach* *roll**wein* *roll*

    Aber in der Ausgabe wird trotzdem alles als Sonderzeichen ausgegeben.

    Was ich aber gerade sehe, da steht ja noch ein htmlentities()
    Und ohne gehts natürlich auch =)

    Heisst dass, das ich in diesem Fall die HTML-Eingabe nicht verhindern kann/darf ?
     
  9. 27. Februar 2007
    AW: str_replace wird durch addslashes ausgebremst

    Ok, kann sein dass ich grad totalen Mist laber, aber benutze doch erst htmlentities, damit der html code rausgefiltert werde und ersetze dann deinen "bbcode", der ja nicht gefiltert wurde mit html...so wird das html vom user gefiltert und deins nicht...entweder ich bin grad dumm, weil ich zu viel getrunken habe, oder das ist wirklich so simpel
     
  10. 27. Februar 2007
    AW: str_replace wird durch addslashes ausgebremst

    So, danke nochmal an alle die geholfen haben.
    Fürs erste ist dieser Fehler jetzt behoben, mal gucken was noch kommt
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.