Bob: Gästebuch optimieren

Hab mir jetzt ein simples(!) Gästebuch programmiert. Folgende Fragen:
1.) Wie kann man "<" in "&lt;" umwandeln lassen, sodass keiner   irgendwelche Codes eingeben kann?

2.) Wenn man im TEXTAREA Feld Enter-Taste drückt um Leerzeilen zu erzeugen, werden diese nicht mit abgespeichert bzw wieder richtig angezeigt. Was kann man dagegen tun?

Danke im Voraus

  1. Hallo!

    Hab mir jetzt ein simples(!) Gästebuch programmiert. Folgende Fragen:
    1.) Wie kann man "<" in "&lt;" umwandeln lassen, sodass keiner   irgendwelche Codes eingeben kann?

    2.) Wenn man im TEXTAREA Feld Enter-Taste drückt um Leerzeilen zu erzeugen, werden diese nicht mit abgespeichert bzw wieder richtig angezeigt. Was kann man dagegen tun?

    Interessant wäre zu wissen um welche Sprache es sich handelt ;-)
    Bei PHP würden Dir htmlspecialchars() und nl2br() helfen, aber ich "befürchte" Du meinst perl ;-)

    Grüße
    Andreas

    --
    SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/
    1. Eigentlich schon (also Perl), sonst hätte ich es in die PHP Rubrik geschrieben. Macht sich PHP besser? Da ich mich gerade an Perl gewöhnt hab, wärs nicht schlecht, wenn´s dafür ne Lösung gäb. Sonst muss ich mich halt noch intensiver mit PHP beschäftigen, hab schon Datei-Downloads realisiert. Das viel aber ziemlich einfach aus...

      1. Hallo!

        Eigentlich schon (also Perl), sonst hätte ich es in die PHP Rubrik geschrieben.

        Für perl gibt es auch eine extra Rubrik, da CGI nur eine Schnittstelle ist. Du könntest z.B. auch C verwenden... Die meisten Hoster verwenden PHP jedenfalls ebenfalls per CGI-Schnittstelle.

        Macht sich PHP besser?

        PHP wurde halt für solche Sachen geschrieben (siehe auch "Introduction to Scripting Languages"), ich finde es daher einfacher. Mit perl geht das sicher genau so gut, ich fand PHP aber "zugänglicher" als perl.

        Da ich mich gerade an Perl gewöhnt hab, wärs nicht schlecht, wenn´s dafür ne Lösung gäb.

        Die hast Du ja jetzt von Christoph.

        Sonst muss ich mich halt noch intensiver mit PHP beschäftigen, hab schon Datei-Downloads realisiert. Das viel aber ziemlich einfach aus...

        Ja ;-)
        Neben dem offiziellen Manual ist sicher das folgende Tutorial ganz interessant zum Einarbeiten: http://tut.php-q.net/, und vielleicht noch "PHP: A tutorial" und die FAQ ;-)

        Aber wie gesagt, es ist Geschmacksache, mit perl wirst Du alles was Du mit PHP realisieren kannst ebenfalls hinbekommen. Nur dauert es IMHO länger bis Du es kannst ;-)

        Grüße
        Andreas

        --
        SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/
        1. hallo Andreas,

          Macht sich PHP besser?
          PHP wurde halt für solche Sachen geschrieben (siehe auch "Introduction to Scripting Languages"), ich finde es daher einfacher. Mit perl geht das sicher genau so gut, ich fand PHP aber "zugänglicher" als perl.

          Mir geht es anders herum, ich fand Perl "zugänglicher" - was aber auch daran liegen kann, daß ich mich wesentlich länger mit Perl beschäftigt habe als mit PHP. Dazu kommt, daß es allerhand Dinge gibt, die ich im System (also nicht über CGI) damit anstellen kann, die es bei PHP nicht von Anfang an gab und teilweise auch heute noch nicht gibt.

          Aber wie gesagt, es ist Geschmacksache, mit perl wirst Du alles was Du mit PHP realisieren kannst ebenfalls hinbekommen. Nur dauert es IMHO länger bis Du es kannst ;-)

          Nö. Aber mal gut, daß du "imho" gesagt hast ;-) Ich kann manche Sachen mit PHP immer noch nicht richtig, die ich mit Perl nahezu mühelos hinkriege. Perl ist ein Dutzend Jahre älter als PHP, es gibt einen riesigen Berg an CPAN- und anderen Modulen, so daß niemand reinen Gewissens behaupten darf, wirklich "alles" zu kennen. Bei PHP ist das zur Zeit noch etwas weniger, aber der Trend geht in etwa dieselbe Richtung. Für die einfachen CGI-Geschichten wie Gästebuch und ähnliches braucht man ja nur einen Bruchteil dessen, was die Sprache tatsächlich kann. Und für diesen "Bruchteil" sehe ich keine Unterschiede, was den Lernaufwand für Perl und PHP betrifft.

          Na gut. Eigentlich hab ich kein besonderes Bedürfnis, mal wieder einen Perl <-> PHP - Thread loszutreten ...

          Grüße aus Berlin

          Christoph S.

  2. hallo,

    1.) Wie kann man "<" in "&lt;" umwandeln lassen, sodass keiner   irgendwelche Codes eingeben kann?

    "umwandeln" ist nicht nötig bzw. wahrscheinlich nicht sinnvoll. Im allgemeinen macht man sowas mit regExpressions. Beispielsweise so
     $name =~ /[^a-zA-ZäöüÄÖÜß&; ]/
    Dmit wären für die Variable $name (das kann ein Formularfeld sein) alle Buchstaben sowie die deutschen Umlaute zulässig, alle anderen Zeichn aber nicht.

    2.) Wenn man im TEXTAREA Feld Enter-Taste drückt um Leerzeilen zu erzeugen, werden diese nicht mit abgespeichert bzw wieder richtig angezeigt. Was kann man dagegen tun?

    Hier nun tatsächlich "umwandeln". Beispielsweise so:
     $textarea =~ s/\n/<br />/g;

    Grüße aus Berlin

    Christoph S.

    1. Dankeschön, werds gleich probieren...

  3. Tag Bob.

    1.) Wie kann man "<" in "&lt;" umwandeln lassen, sodass keiner irgendwelche Codes eingeben kann?

    Mit dem Modul HTML::Entities (zu finden auf http://search.cpan.org).

    2.) Wenn man im TEXTAREA Feld Enter-Taste drückt um Leerzeilen zu erzeugen, werden diese nicht mit abgespeichert bzw wieder richtig angezeigt. Was kann man dagegen tun?

    Mit Hilfe eines Regulären Ausdrucks alle Zeilenumbrüche umwandeln:

    $text =~ s/\n|\r|\r\n/<br>/g;

    Siechfred

    --
    »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«