CGI Apache Linux...
Kai
- cgi
0 Cheatah0 Kai0 Frank Scharffenberg0 Michael Schröpl0 Kai0 Michael Schröpl0 Kai
Hallo zusammen, ich habe folgendes Problem:
Ich versuche mir ein Guestbook in C zu schreiben und habe mir auch
alles was ich bei Selfhtml über CGI¨s gefunden habe durchgelesen.
Der Server ist soweit ich das beurteilen kann richtig konfiguriert. Ich
habe das Script am laufen aber keine Ahnung von der Kommunikation
zwischen Server und CGI im Detail. Ich benutze zum Test erstmal das
Formular aus Selfhtml/tgbf.htm die Daten werden wie gewünscht zu
meinem cgi übertragen und es liest sie auch ein. Nun soll mein cgi
eine HTML-Datei erstellen und zurück geben. Mein Script macht das
auch aber die Daten werden dann im Netscape nicht als HTML sondern
wie ein Text-file angezeigt (auch bei anderen Browsern). Was ist falsch
muss ich irgendwelche Header ausgeben bevor mein cgi den neuen
html-code ausgibt? Wenn jemand weiss wo ich detaillierte Angaben
zur Kommunikation zwischen Script und Server im besonderen Apache
finden kann bitte die URL posten.
Schönen Dank im vorraus.
Hi,
Mein Script macht das
auch aber die Daten werden dann im Netscape nicht als HTML sondern
wie ein Text-file angezeigt (auch bei anderen Browsern). Was ist falsch
muss ich irgendwelche Header ausgeben bevor mein cgi den neuen
html-code ausgibt?
offenbar gibst Du irgendwo im Script "Content-type: text/plain\n\n" aus. Ändere den Type in text/html.
Wenn Du in Perl programmierst, solltest Du übrigens (sorry, Stefan) SelfHTML komplett vergessen. Was hier über die Sprache steht, ist hoffnungslos veraltet. Nutze statt dessen die Dokumentation, die bei Perl dabei ist; für CGI-Scripts solltest Du beispielsweise
perldoc CGI
sehr aufmerksam lesen. Weitere Startpunkte in der Doku sind:
perldoc perldoc
perldoc perl
perldoc perlfaq
perldoc -f -X (bzw. perldoc -f Befehl)
Cheatah
Moin,
Hi,
offenbar gibst Du irgendwo im Script "Content-type: text/plain\n\n" aus. Ändere den Type in text/html.
danke für die Hilfe, jetzt gehts :)
Wenn Du in Perl programmierst, solltest Du übrigens (sorry, Stefan) SelfHTML komplett vergessen. Was hier über die Sprache steht, ist hoffnungslos veraltet. Nutze statt dessen die Dokumentation, die bei Perl dabei ist; für CGI-Scripts solltest Du beispielsweise
perldoc CGI
sehr aufmerksam lesen. Weitere Startpunkte in der Doku sind:
perldoc perldoc
perldoc perl
perldoc perlfaq
perldoc -f -X (bzw. perldoc -f Befehl)
Schade das ich (noch) nicht in Perl Programmieren kann. Ich schreibe
in C und das ist mein erstes CGI. Naja, bis jetzt konnte mir niemand sagen
wo ich für C Hilfe zu cgi finde weist du da vielleicht was, wäre prima -
denn ein paar Sachen sind mir immernoch unklar z.B. Mit der get action
will mein Script nicht obwohl ich alles entsprechend geändert habe...
Premature end of Script header ist das einzige was im error-log meines
apachen zufinden ist.
Kai
Schade das ich (noch) nicht in Perl Programmieren kann. Ich schreibe
in C und das ist mein erstes CGI. Naja, bis jetzt konnte mir niemand sagen
wo ich für C Hilfe zu cgi finde
CGI ist eine Schnittstellendefinition über Datenformate, Variablen im Environment etc. - diese ist nicht abhängig von einer verwendeten Programmiersprache.
Allerdings gibt es z. B. in Perl fertige Implementationen für eine komfortable Behandlung dieser Schnittstelle, welche Dir das tiefere Verständnis derselben teilweise abnimmt - wenn Du alles von Hand machen mußt, dann mußt Du halt die CGI-Spezifikationen lesen.
z.B. Mit der get action will mein Script nicht obwohl ich alles entsprechend geändert habe...
Premature end of Script header ist das einzige was im error-log meines
apachen zufinden ist.
Du kannst im Apache ein separates CGI-log definieren, dann landen sämtliche Ausgaben (auch Dir vom Absturz Deines C-Programms) in dieser Datei, was das Debuggen sehr erleichtert.
Siehe http://www.apache.org/docs/mod/mod_cgi.html#scriptlog
Tach,
Wenn Du alles von Hand machen mußt, dann mußt Du halt die CGI-Spezifikationen lesen.
wo finde ich die? "man -k cgi" ist nicht sehr hilfreich, was ist mit einem rfc Document weis jemand die Nummer?
Ich habe nur in Selfhtml nützliche Erklärungen gefunden und davon nur weniege...
Du kannst im Apache ein separates CGI-log definieren, dann landen sämtliche Ausgaben (auch Dir vom Absturz Deines C-Programms) in dieser Datei, was das Debuggen sehr erleichtert.
Siehe http://www.apache.org/docs/mod/mod_cgi.html#scriptlog
Thx, vielleicht hilft es mir weiter.
Kai
Wenn Du alles von Hand machen mußt, dann mußt Du halt die CGI-Spezifikationen lesen.
wo finde ich die? "man -k cgi" ist nicht sehr hilfreich, was ist mit einem rfc Document weis jemand die Nummer?
Ich habe nur in Selfhtml nützliche Erklärungen gefunden und davon nur weniege...
Meine Quelle wäre z. B. http://hoohoo.ncsa.uiuc.edu/cgi/.
Aber außerdem hätten wir da noch http://www.teamone.de/selfaktuell/links/cgi_perl_tutorials.htm im Angebot ... ;-)
Tach,
Meine Quelle wäre z. B. http://hoohoo.ncsa.uiuc.edu/cgi/.
Aber außerdem hätten wir da noch http://www.teamone.de/selfaktuell/links/cgi_perl_tutorials.htm im Angebot ... ;-)
besten Dank an alle hier, meine Probleme sind gelöst...
Kai