Linux 14.982 Themen, 106.376 Beiträge

Wer hat Erfahrung mit dem Apache Webserver,CGI-Scripts und Perl

Dieter / 3 Antworten / Flachansicht Nickles

Ich möchte mit Perl Programmieren, nun funktionieren,einfache scripts.Zum Beispiel die Übernahme eines Strings in der Url. z.b. Http://ip-adr./cgi-bin/test.pl?Dieter
zeigt dann im Browserfenter Dieter an.
Aber ich kann keine Textfelder auslesen.Die Function "textfield" kann er scheinbar nicht auslesen.Er schreibt
nur textfield("sorte","schoko")anstatt es richtig:
ein textfield generieren und dann schoko hineinzuschreiben.
??? Vielleicht hast du einen Tip.
mfg
Didi (Dieter)

Antwort:
Ich kenne Dein lokales "test.pl" nicht. Aber meines (war glaube ich beim Apache dabei, aber so sicher bin ich mir da nicht) produziert nur ein Echo der angegebenen Parameter.
Wenn Du ein Textfeld generieren moechtest, dann hast Du mehere Moeglichkeiten.
- Du erzeugst eine HTML Datei mit
- Du erzeugst eine CGI Anwendung (z.B. in Perl), die dann eine HTML Ausgabe erzeugt, die ein Textfeld enthaellt...(print "";)
j.
(jay)

Antwort:
Hi jay, danke für deinen Tip.Aber so richtig hilft er mir auch nicht weiter. Ich habe nun ein fertiges Gästebuch von der Freeware.de Url
down geladen, leider funktioniert es auch nicht.
Kannst du mir vielleicht ein perl-script (wie wichtig ist eigentlich
die *.pl endung.Kann ich die *.pl endung in cgi umbenennen)
von dir das funktioniert per e-mail zuschicken.Ich kann es dann
auf meinem Server laufen lassen,und dabei sehen was ich falsch gemacht habe.
mfg
Dieter
(dieter)

Antwort:
Je nach Konfiguration des Webservers werden bestimmte Dateierweiterungen automatisch ausgeführt, und nicht etwa angezeigt. Zu den Endungen gehoert im Allgemeinen "pl" und "cgi".
Ein fertiges perl-Script von mir läuft vermutlich bei Dir nicht umbedingt, aber hier ist dennoch ein Testbeispiel:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello World\n";
fertig ist das Hello World...
Tips:
"perl -w" ist Dein Freund. Es sagt Dir, ob Fehler in deinem Script sind.
"tail -f /var/log/messages/http_errors" (oder wo auch immmer Deine Installation von Apache ihr Fehlerprotokoll hinschreibt) gibt wichtige Tips, warum immer nur "internal error...please contact..." angezeigt wird.
j.
(jay)

bei Antwort benachrichtigen