Frank: Html code den netscape erstellt!

Hi

Ich habe ein Perlscript geschrieben welches Html aus gibt nur
auf Netscape 7.xx kommt nur Text rüber, also die tabellen anweisungen der header alles was man sonst nicht sieht nur keine formatierte Html-Seite. Im Internet Explorer Klappt es

  1. hi

    Ich habe ein Perlscript geschrieben welches Html aus gibt nur
    auf Netscape 7.xx kommt nur Text rüber, also die tabellen anweisungen der header alles was man sonst nicht sieht nur keine formatierte Html-Seite.

    dann sendest du wohl as ganze als text/plain an den browser und der IE rädt, was das sein soll...

    Grüße aus Bleckede

    kai

  2. Hallo,

    ich tippe mal, das du das:

    "print "Content-type: text/html\n\n";
    print '<!DOCTYPE ....";

    vergessen hat-  bzw. kein Modul verwendest, welches dir dabei hilft...

    Gruss Sven

    1. Hallo,

      nee Ich Fange an mit:

      print "Content-type: text/html\n\n";
      print "<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">","\n";

      1. Hallo,

        [..]

        print "<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01

        ^^^Backslash ???

        Gruss Sven

        1. Hallo,

          [..]

          print "<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01
                                         ^^^Backslash ???

          Ich muss das maskieren, mach ich das nicht hab ich einen Server Fehler

          denke das Perl das dann nicht erkennt was es mit print ausprinten soll.

          1. Hi,

            [..]

            print "<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01
                                           ^^^Backslash ???
            Ich muss das maskieren, mach ich das nicht hab ich einen Server Fehler
            denke das Perl das dann nicht erkennt was es mit print ausprinten soll.

            ja - aber niemand zwingt Dich, in dieser Zeile doppelte Hochkommata
            zu verwenden ...

            Viele Grüße
                  Michael

      2. Hallo Frank,

        print "Content-type: text/html\n\n";
        print "<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">","\n";

        muss hinter PUBLIC nicht ein Leerzeichen? Ich habe es bisher jedenfalls immer dort gesehen.

        Gruß,   Jürgen

    2. Hallo,

      Moin Moin !

      ich tippe mal, das du das:

      "print "Content-type: text/html\n\n";

      print "Content-type: text/html\r\n\r\n";

      Denn der Header hat CR/LF als Zeilenende, nicht nur LF. Wenn man es ganz genau nimmt, müßte man eigentlich sogar \015\012 statt \r\n schreiben (denn \r und \n sind laut Perl-Handbuch nicht immer ASCII 13 und ASCII 10), also:

      print "Content-type: text/html\015\012\015\012";

      Ich spare mir dieses ganze plattformabhängige Affentheater, und das eigenständige zerlegen der diversen Request-Daten. Meine CGIs sehen ungefähr so aus:

      #!/usr/local/bin/perl -Tw

      use strict;

      use CGI qw(:all);

      print
          header(),
          start_html('Demo'),
          h1('Demo'),
          end_html();

      -T -- Tainted Mode, denn beim CGI-Schreiben hat man paranoid zu sein!

      -w -- Warnings, denn schließlich will ich keinen schlechten Code

      use strict -- Strengere Code-Prüfung, macht etwas mehr Arbeit beim Coden, spart aber viel Arbeit beim Debuggen.

      use CGI -- Warum soll ich immer wieder den Code für die CGI-Spec neu erfinden, wenn Lincoln D. Stein ein ("das") Standard-Modul für CGIs gebaut hat, das zudem viele perverse Sonderfälle berücksichtigt und ausbügelt ? Dieses Modul ist bei jedem Perl 5 dabei, warum soll ich es dann nicht benutzen ?

      print '<!DOCTYPE ....";

      ^-- auch das macht das CGI-Modul.

      vergessen hat-  bzw. kein Modul verwendest, welches dir dabei hilft...

      Mein Reden ...

      Alexander