Frames und CGI
Sanda
- cgi
Hallo zusammen!
Hab da zwar gestern schon was gepostet, konnte aber leider nicht wirklich viel damit anfangen...war aber mein Fehler, da ich wahrscheinlich die Frage nicht richtig gestellt habe.
Deshalb hier ist ein Auszug aus meinen Skripten:
frames.pl:
#! /usr/bin/perl
print "Content-type: text/html\n\n";
print <<EOF;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<title>AUFTRAEGE</title>
<frameset cols="15%, *" frameborder="1" framespacing="0" border="0">
<frame src="/auftraege/auftragasnavi.htm" name="navi" scrolling="auto" noresize>
<!--#exec cgi="/cgi-bin/auftraege/auftragsmain.pl"-->
<noframes>
Ihr Browser kann diese Seite leider nicht anzeigen!
</noframes>
</frameset>
</html>
EOF
auftragsnavi.htm:
<html>
<head>
<meta name="author" content="Sandra Gaderbauer">
<meta name="content-type" content="text/html, charset=ISO-8859-1">
<meta name="content-style-type" content="text/css">
<meta name="content-language" content="de">
<title>AUFTRAEGE</title>
</head>
<body style="background-color:#FFFF80">
<a href="../cgi-bin/auftraege/auftragsmain.pl" target="main">ALLE AUFTRAEGE</a>
</body>
</html>
auftragsmain.pl:
#! /usr/bin/perl
print "Content-type: html/text;Charset=iso-8859-1\n";
print "\n";
print "<html><head><title>AUFTRAEGE</title></head><body>SANDRA</body>";
print "</html>";
---------------------------------------------------------------------
Wenn ich das ganze dann teste, wird der linke frame zwar richtig angezeigt, jedoch führt er die auftragsmain.pl nicht aus! Konqueror fragt zb ob er auftragsmain.pl öffnen soll!
Kann mir einer sagen, was ich da falsch mache??
Wär echt dankbar!!
lg, Sandra
Hi,
vermutlich liegt der Fehler hier: "../cgi-bin". Das CGI-Verzeichnis ist üblicherweise serverintern ein Alias und kann daher über /cgi-bin/, ohne weitere Pfadangabe davor angesprochen werden. Versuche es mal ohne die beiden Punkte.
MfG
Danny
Hi,
vermutlich liegt der Fehler hier: "../cgi-bin". Das CGI-Verzeichnis ist üblicherweise serverintern ein Alias und kann daher über /cgi-bin/, ohne weitere Pfadangabe davor angesprochen werden. Versuche es mal ohne die beiden Punkte.
MfG
Danny
Hi back!
Hab das geändert...Konqueror fragt zwar jetzt nicht mehr, ob er öffnen soll, aber mein Text (also SANDRA) steht trotzdem nicht im 2. Frame!!!
Hast du vielleicht noch einen anderen Tipp?
lg, Sandra
print "Content-type: html/text;Charset=iso-8859-1\n";
Verwende bitte text/html statt html/text.
print "Content-type: html/text;Charset=iso-8859-1\n";
Verwende bitte text/html statt html/text.
Danke schön!!! ;-)))))))))))
Hat geholfen, aber ich bin leider noch immer nicht ganz zufrieden...
Wenn ich die auftragsmain.pl allein über den Browser aufruf, funktioniert es, aber wenn ich die frames.pl aufrufe, zeigt er nichts an!!
Hast de auch dafür noch nen Rat? ;-)
Hi,
Hast de auch dafür noch nen Rat? ;-)
lies bitte meine erste Antwort in diesem Thread.
Cheatah
<frame src="/auftraege/auftragasnavi.htm" name="navi" scrolling="auto" noresize>
<!--#exec cgi="/cgi-bin/auftraege/auftragsmain.pl"-->
Warum das #exec? Das ist ein SSI-Befehl, der hat in Perl-Dateien eigentlich nichts zu suchen, bzw. wird nicht ausgeführt, sofern der Webserver nicht speziell dafür konfiguriert ist. SSI-Dateien haben normalerweise die Endung .shtml und der Server verarbeitet standardmäßig SSI auch nur in Dateien mit solcher Endung, wenn ich mich nicht irre.
;) 'nen Rat: Verwende statt der exec-Zeile einfach:
<frame src="/cgi-bin/auftraege/auftragsmain.pl" name="main" scrolling="auto" noresize>
Das Perl-Script wird dann automatisch ausgeführt und die Ausgabe in den Frame geleitet.
Gruß
Danny
hey danke!
ist komisch, denn genauso hatte ich es vorher stehen gehabt und hatte aber nicht funktioniert!
danke nochmal!
lg, sandra
Hi,
Deshalb hier ist ein Auszug aus meinen Skripten:
schau Dir den Auszug aus dem _erzeugten_ Code an. Erstens ist bei clientseitigen Phänomenen alles andere völlig irrelevant, zweitens wird es erhellend sein.
#! /usr/bin/perl
perldoc warnings
perldoc strict
print "Content-type: text/html\n\n";
Das sind keine HTTP-gültigen Umbrüche.
<!--#exec cgi="/cgi-bin/auftraege/auftragsmain.pl"-->
Ein Leerzeichen vor dem abschließenden "-->" wird empfohlen.
Ihr Browser kann diese Seite leider nicht anzeigen!
Das ist eine falsche und absolut nutzfreie Aussage. Biete alternativen Inhalt.
Wenn ich das ganze dann teste, wird der linke frame zwar richtig angezeigt, jedoch führt er die auftragsmain.pl nicht aus! Konqueror fragt zb ob er auftragsmain.pl öffnen soll!
Ein merkwürdiges Verhalten. Es ist aber auch ein merkwürdiger HTML-Code.
Cheatah