Jan Broermann: Liegt da vielleicht ein Fehler in (tga.htm) vor ???

Ich habe aus der Datei tga.htm versucht, eine für mich anschauliche lokale Lernseite, zu stricken.
Ich habe also zwei Dateien erstellt und die Inhalte abgeändert. Ich starte die HTML Seite, gebe in das Formular irgendetwas ein. Die nächste Seite Perl baut sich auf, aber ich bekomme nur alle Befehle auf meinem Browser angezeigt. Die Darstellung von Perl in HTML funktioniert also irgendwie nicht. Die HTML Befehle, z.B. Überschrift schon.
Da die *.pl Datei aufgerufen und gestartet wird gehe ich mal davon aus, das meine Grundeinstellungen (betreffs Perl) richtig sind.
Andererseits hat Stefan wohl kaum etwas von seinem funktionierendem Quellcode abgeändert.
Wer kann mir also einen Tipp geben woran es liegen könnte?
Ich habe WinNT Workstation auf meinem Rechner, Provider ist auch NT.
Bin für jeden Hinweis Dankbar
Jan

  1. hi ho

    Wer kann mir also einen Tipp geben woran es liegen könnte?

    ich vermute, so ganz hast du das cgi-Prinzip nicht verstanden.
    ich schlage vor, du liest dir mal http://www.teamone.de/selfaktuell/artikel/schroepl03.htm durch, und bei Fragen kannst du gerne weiter hier posten.

    cua

    n.d.p.

    1. ich vermute, so ganz hast du das cgi-Prinzip nicht verstanden.
      ich schlage vor, du liest dir mal http://www.teamone.de/selfaktuell/artikel/schroepl03.htm durch, und bei Fragen kannst du gerne weiter hier posten.

      Ich habe mich da schon durch gelesen ,sowie alle auffindbaren Infos die ich bekommen konnte und wende mich jetzt erst an das Forum, da ich mir selber keinen Reim mehr darauf machen kann.
      Wie CGI funktioniert, habe ich im Prinzip schon verstanden. Laut all meinen Unterlagen kann ich CGI auf meinem Rechner simulieren. An die Anweisungen habe ich mich gehalten. Er startet ja auch die *.pl Datei, nur zeigt er mir nur Schrott (die perl Befehle)an. Diese habe ich fast eins zu eins übernommen, ich habe nur die Dateinamen angepasst, also sollte es doch eigentlich laufen oder?

      Jan

      1. re hi :-)

        Wie CGI funktioniert, habe ich im Prinzip schon verstanden. Laut all meinen Unterlagen kann ich CGI auf meinem Rechner simulieren. An die Anweisungen habe ich mich gehalten. Er startet ja auch die *.pl Datei, nur zeigt er mir nur Schrott (die perl Befehle)an. Diese habe ich fast eins zu eins übernommen, ich habe nur die Dateinamen angepasst, also sollte es doch eigentlich laufen oder?

        also, ich versuchs mal .-)

        dein problem ist, dass das perlscript gar nicht ausgefuehrt wird, sondern vom browser, hmm, nun ja, als textdatei angezeigt wird (IE vermute ich mal), das heisst, entweder ist keine CGI-Umgebung vorhanden, oder diese (also der Webserver) ist falsch konfiguriert, darum:

        • (was) hast du (fuer) einen webserver installiert?
        • wie sprichst du deine perl-datei an? (HTML-Code/Aufruf der HTML-Datei)

        cua

        n.d.p.

          • (was) hast du (fuer) einen webserver installiert?
          • wie sprichst du deine perl-datei an? (HTML-Code/Aufruf der HTML-Datei)

          Ok. also kurz mein System: IE 5.5, WinNT, Active Perl, omnihttpd. Das auszuführende Script liegt in /omnihttpd/cgi-bin/*.pl
          aus der Html Seite heraus wird es aufgerufen mit:
          <form action="/cgi-bin/test.pl" method=post>
          sämtlichen Quellcode habe ich von Stefans Seite 1 zu 1 kopiert und wie gesagt die Namen der Dateien angepasst.
          Die Zugriffe habe ich in Omni auf das Verzeichnis gelegt, laut Anleitung, in dem auch mein Script liegt.
          Perl liegt auf c:\perl. Perl läuft, habe unter dos mit Perl test1.pl eine Anzeige bekommen.

          1. rehi

            Ok. also kurz mein System: IE 5.5, WinNT, Active Perl, omnihttpd. Das auszuführende Script liegt in /omnihttpd/cgi-bin/*.pl
            aus der Html Seite heraus wird es aufgerufen mit:
            <form action="/cgi-bin/test.pl" method=post>

            ist unter webserver global settings -> external fuer .pl C:\Perl eingestellt?
            ist unter webserver global settings -> advanced "external script support" eingestellt?

            ansonsten weiss ich auch nicht mehr weiter .-)

            omnihttp liefert allerdings diverse Hilfe (HTML-)Dateien mit, bei mir unter c:\httpd\htdocs\docs

            cua

            n.d.p.

      2. Ich habe mich da schon durch gelesen

        Wirklich? Insbesondere http://www.teamone.de/selfaktuell/artikel/schroepl03.htm#a6 (was bei Dir definitiv nicht funktioniert)?

        Wie CGI funktioniert, habe ich im Prinzip schon verstanden.

        Hm, hm ...

        Laut all meinen Unterlagen kann ich CGI auf meinem Rechner simulieren.

        Was verstehst Du unter "simulieren"? Ich würde anstreben, es zu "nutzen", und nicht nur so zu tun, als ob ... ;-)

        An die Anweisungen habe ich mich gehalten.

        Zweifellos nicht (Deine CGI-Definition ist nicht korrekt).

        Er startet ja auch die *.pl Datei,

        Nein, Dein Skript selbst wird nicht "gestartet".

        Nach meinem Sprachgebrauch kann man nur ausführbare Programme starten - und ein Perl-Skript ist keine ausführbares Programm (d. h. kein Maschinencode), sondern ein *durch* ein solches Programm (nämlich den Perl-Interpreter) zu *interpretierendes* Programm.

        Der Perl-Interpreter wird aber gerade eben *nicht* aufgerufen - dies wäre die Aufgabe des Webservers gewesen, *wenn* er erkannt hätte, daß Du *nicht* den Inhalt, sondern das Ausführungsergebnis Deines Perl-Skripts sehen willst. Das wiederum hast Du nicht (korrekt) in der Webserver-Konfiguration angegeben (http://www.teamone.de/selfaktuell/artikel/schroepl03.htm#a6).

        ich habe nur die Dateinamen angepasst, also sollte es doch eigentlich laufen oder?

        Dein Problem liegt *nicht* im Perl-Skript, sondern in der Konfiguration des Webservers, der nicht versteht, was Du von ihm willst (nämlich CGI-Interpretation für den URL Deines Skripts).
        Bis zu der Stelle, wo man feststellen könnte, ob *auch* in Deinem Skript irgendwas nicht funktioniert, kommst Du ja gar nicht.

        mfG - Michael

        1. Ich habe mich WIRKLICH da schon durch gelesen
          Wirklich? Insbesondere http://www.teamone.de/selfaktuell/artikel/schroepl03.htm#a6 (was bei Dir definitiv nicht funktioniert)?

          Ja und durch sämtliche andere auffindbaren Foren im Internet. Hat aber nicht unbedingt geholfen :-(
          In einem habe ich mir eine Anleitung geholt, welche Einstellungen ich wo unter OmniHTTPd machen muss. Daran habe ich mich peinlichst gehalten. Wenn da jedoch ein Fehler sein sollte, habe ich ihn auch übernommen. Habe sogar meine Verzeihnisse den Vorgaben angepasst.

          An die Anweisungen habe ich mich gehalten.

          Zweifellos nicht (Deine CGI-Definition ist nicht korrekt).

          Könntest Du mir bitte sagen welche Einstellungen ich vornehmen soll, um jetzt endlich loslegen zu können?
          meine Html Seiten liegen auf d:\test meine Scripte im Verzeichnis d:\nt-tools\omnihttpd\cgi-bin
          Perl auf c:\perl.
          Oder sage mir einfach wie ich die Verzeichnisse nennen soll, um mit Deinen Angaben konform zu sein.

          Sorry, aber vielleicht bin ich bei Perl einfach zu langsam, oder zu blöd, nur will ich noch nicht aufgeben.

          Er startet ja auch die *.pl Datei,

          Nein, Dein Skript selbst wird nicht "gestartet".

          Ok das sehe ich ein, es ist wirklich nur der Quelltext, der wenn Html Anweisung vorhanden diese auch ausführt.
          Perl selber läuft, das habe ich schon unter Dos Fenster mir perl test1.pl getestet.

          Jan
          Jabro@iname.com

          1. Hi,

            Zweifellos nicht (Deine CGI-Definition ist nicht korrekt).
            Könntest Du mir bitte sagen welche Einstellungen ich vornehmen soll, um jetzt endlich loslegen zu können?
            meine Html Seiten liegen auf d:\test meine Scripte im Verzeichnis d:\nt-tools\omnihttpd\cgi-bin
            Perl auf c:\perl.
            Oder sage mir einfach wie ich die Verzeichnisse nennen soll, um mit Deinen Angaben konform zu sein.

            Es liegt nicht an den Verzeichnissen. Ich wiederhole zum letzten Mal: Es liegt daran, daß Du die Konfiguration Deines Webservers nicht beherrschst.

            Sorry, aber vielleicht bin ich bei Perl einfach zu langsam, oder zu blöd, nur will ich noch nicht aufgeben.

            Du hast kein Perl-Problem. Solange Du das nicht einsiehst, kommst Du nicht weiter.

            Perl selber läuft, das habe ich schon unter Dos Fenster mir perl test1.pl getestet.

            Eben. Perl funktioniert. Dein Skript funktioniert ebenfalls. Nur Dein Webserver funktioniert nicht so, wie Du es erwartest.

            mfG - Michael

  2. Ich habe aus der Datei tga.htm versucht, eine für mich anschauliche lokale Lernseite, zu stricken.
    Ich habe also zwei Dateien erstellt und die Inhalte abgeändert. Ich starte die HTML Seite, gebe in das Formular irgendetwas ein. Die nächste Seite Perl baut sich auf, aber ich bekomme nur alle Befehle auf meinem Browser angezeigt. Die Darstellung von Perl in HTML funktioniert also irgendwie nicht. Die HTML Befehle, z.B. Überschrift schon.
    Da die *.pl Datei aufgerufen und gestartet wird gehe ich mal davon aus, das meine Grundeinstellungen (betreffs Perl) richtig sind.
    Andererseits hat Stefan wohl kaum etwas von seinem funktionierendem Quellcode abgeändert.
    Wer kann mir also einen Tipp geben woran es liegen könnte?
    Ich habe WinNT Workstation auf meinem Rechner, Provider ist auch NT.

    Deine Datei wird nicht als CGI-Skript ausgefuehrt. Frage deinen Provider, warum das so ist.

    Ansonsten ist die Anleitung in mehrfacher Hinsicht mangelhaft. Du solltest lieber das CGI-Modul benutzen:
    http://stein.cshl.org/WWW/software/CGI/

    Peter