Sonderzeichen im Gästebuch

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

  • Sonderzeichen im Gästebuch

    Hallo,

    hab schojn vor längerem mir nen kleines GB gecodet.
    Während dem Betrieb fiel mir aber auf, dass die Zeichen " und <> nicht angezeigt werden bzw durch &xxxx; ersetzt werden und auch so angezeigt.

    Benutze schon
    htmlspecialchars()
    htmlentities()
    nl2br()
    stripslashes()


    Hoffe ihr könnt mir helfen, dass ich auch alle Zeichen darstellen kann.

    MfG
    Cupido

  • #2
    Re: Sonderzeichen im Gästebuch

    wo ist das problem?
    du schreibst die daten normal in die db, bei der ausgabe benutz du htmlentities() + nl2br - fertig.

    daß " zu &amp;quot;, < und > zu &amp;lt; und &amp;gt; werden ist normal, dann werden sie entsprechend dargestellt, und nicht fälschlicherweise für tag-teile gehalten

    wendest du allerdings htmlentities _und_ htmlspecialchars an, kann es sein, daß du alles zweimal wandelst, daher auch ... da hilft dir und uns der quellcode der erzeugten html-seite weiter ... und der erzeugende php-code.

    scheinbar willst du den aber nicht rausrücken ....
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Also ich habe keinen Problem euch meinen Code zu geben, ist kein Geheimnis, aber ich weiß nciht wo ich anfangen soll, bei 3 verschiedenen php-files.

      Hab jettz bissl rumprobiert und hab jetzt soweit, dass ich nurnoch <> und ' nciht darstellen kann, aber das leigt ja daran (glaub ich) dass ich ja die HTML-Tags unterdrücke.

      Kommentar


      • #4
        Also ich habe keinen Problem euch meinen Code zu geben, ist kein Geheimnis, aber ich weiß nciht wo ich anfangen soll, bei 3 verschiedenen php-files.
        3 Stück für ein Gästebuch??? Meinst du nicht, dass du etwas übertreibst *drop*....ich hab bis jetzt für das komplette Forum nur eine XD

        Hab jettz bissl rumprobiert und hab jetzt soweit, dass ich nurnoch <> und ' nciht darstellen kann, aber das leigt ja daran (glaub ich) dass ich ja die HTML-Tags unterdrücke.
        Normalerweise, reicht es wenn du auf den Text, der übergeben wird einmal nl2br(htmlentites(addslashes(stripslashes($_POST['Text'])))
        das mit addslashes, kannst du dir sparen, wenn der Text in eine Datei übergeben wird, bei SQL muss das sein!
        Wenn dann z.B. Ein Text eingegeben wird, der ><&amp;uuml; oder ähnliches enthält, dann wird der genauso ausgegeben. Die Zeichen werden dann in die Entitäten umgewandelt und dann so wieder ausgegeben.
        Kannnste ja ausprobieren. Wenn du htmlentities("&amp;nbsp;"), machst, dann steht in deiner HTML-Datei im Quellcode hinterher "&amp;amp;uuml;", was dann auf der Website wieder als &amp;nbsp; ausgegeben wird....ich hoffe das wahr verständlich XD
        Es geht also nicht, dass einige Zeichen umgewandelt werden und einige nicht...zur Not kannst du auch noch die Tabelle der Funktion mit get_html_translation_table() ausgeben, die verwendet wird um die Entitäten umzuwandeln....

        ich hoffe das war hilfreich *drop*......sieht mir momentan nicht danach aus, als ob das irgendwie hilfreich sein könnte xD

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Original geschrieben von ghostgambler
          Normalerweise, reicht es wenn du auf den Text, der übergeben wird einmal nl2br(htmlentites(addslashes(stripslashes($_POST['Text'])))
          das mit addslashes, kannst du dir sparen, wenn der Text in eine Datei übergeben wird, bei SQL muss das sein!
          nein, das was du geschrieben hast, spart man sich am besten immer.

          mit stripslashes evtl. vorhandene backslashes wegnehmen, um sie sofort danach mit addslashes wieder hinzuzufügen?
          sehr durchdacht ...

          stripslashes steht an dieser stelle vermutlich, weil du über magic_quotes_gpc nicht bescheid weißt.
          und statt addslashes verwendet man natürlich mysql_escape_string() bzw. mysql_real_escape_string(), um die daten abzusichern (unter der annahme, dass es sich beim DBMS um mySQL handelt).

          näheres dazu im forum, wurde schon mehrmals in aller ausführlichkeit durchgekaut.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            nein, das was du geschrieben hast, spart man sich am besten immer.
            Oh...nett, jetzt weiß ich wieder einen Grund mehr, dass ich dieses Forum nicht mag....hier wird man sogar von Leuten runtergemacht, die man nicht kennt...^_^

            mit stripslashes evtl. vorhandene backslashes wegnehmen, um sie sofort danach mit addslashes wieder hinzuzufügen?
            sehr durchdacht ...

            stripslashes steht an dieser stelle vermutlich, weil du über magic_quotes_gpc nicht bescheid weißt.
            Bevor ich mir die Umstände mache, rausfinde, ob denn vielleicht diese Einstellung gesetzt wird, entferne ich lieber die Zeichen sofort. Kommt doch keiner auf die Idee in seinem Text \' oder ähnliches zu verwenden XD

            und statt addslashes verwendet man natürlich mysql_escape_string() bzw. mysql_real_escape_string(), um die daten abzusichern (unter der annahme, dass es sich beim DBMS um mySQL handelt).
            Alternative, die ich nicht kannte!

            näheres dazu im forum, wurde schon mehrmals in aller ausführlichkeit durchgekaut.
            Bevor ich mich hier im Forum dumm und dämlich suche, guck ich mir lieber die aktuelle Manuel an....wesentlich hilfreicher. Ich kenn vielleicht nicht jede Funktion, aber ich weiß schon wo ich am besten Hilfe bekomme und das ist bei "Standartfragen", wie nach Funktionen mit Sicherheit nicht ein Forum....^_-


            Und das jetzt nur mal kurz zur Anmerkung:
            Bevor ich für ein Gästebuch anfange in den PHP-Einstellungen rumzusuchen, ob das denn so oder vielleicht doch besser so, da mach ich lieber bei meinem Forum weiter XD
            Das mit dem get_magic_quotes_gpc kannte ich schon, fand ich aber nicht wirklich prickelnd....naja, vielleicht mal schauen, was man damit noch alles machen kann...ich weiß und dachte mir schon am Anfang, dass das mit strip/add nicht ganz doll ist, aber das Gästebuch war mein erstes Projekt und bis jetzt hab ich noch kein weiteres programmiert, und dafür das es mein erstes war/ist, ist es gut und ich bin damit zufrieden, ach egal, was schreib ich eigentlich soviel....liest ja doch keiner ^_^

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar

            Lädt...
            X