Wie unterdrücke ich STDOUT bei Aufruf des Servers?
Robert Kuhlemann
- cgi
Hallo,
ja wie geht denn sowas?
xxx.htm ruft über Server xxx.pl auf und will kein html und keine
leere Seite zurück und auch kein history.back() und nix.
xxx.htm soll einfach nur da stehenbleiben und xxx.pl soll irgendwas
machen und sich NICHT zurückmelden.
Weiß jemand, wie man sowas hinkriegt?
mfg Robert
Hi
Mit SSI gehts.
Beschreibung gibts im selfHTML:
http://selfhtml.teamone.de/cgiperl/intro/ssi.htm
Benutze den Befehl cgi="[CGI-Pfad/CGI-Programm/Script]" und beachte, dass das CGI Script nicht in die Standardausgabe schreibt.
Greetz Oli
Hallo,
ja wie geht denn sowas?
xxx.htm ruft über Server xxx.pl auf und will kein html und keine
leere Seite zurück und auch kein history.back() und nix.
xxx.htm soll einfach nur da stehenbleiben und xxx.pl soll irgendwas
machen und sich NICHT zurückmelden.
Weiß jemand, wie man sowas hinkriegt?
mfg Robert
hi,
beachte, dass das CGI Script nicht in die Standardausgabe schreibt.
******** **** *** *** *********************************************
*** das war meine frage!
mfg Robert
Hi
Mit SSI gehts.
Beschreibung gibts im selfHTML:
http://selfhtml.teamone.de/cgiperl/intro/ssi.htm
Benutze den Befehl cgi="[CGI-Pfad/CGI-Programm/Script]" und
******** **** *** *** *********************************************
beachte, dass das CGI Script nicht in die Standardausgabe schreibt.
******** **** *** *** *********************************************
Greetz Oli
Hallo,
ja wie geht denn sowas?
xxx.htm ruft über Server xxx.pl auf und will kein html und keine
leere Seite zurück und auch kein history.back() und nix.
xxx.htm soll einfach nur da stehenbleiben und xxx.pl soll irgendwas
machen und sich NICHT zurückmelden.
Weiß jemand, wie man sowas hinkriegt?
mfg Robert
Hallihallo
BEGIN
{
close STDOUT; # vielleicht muss man gar nicht erst schliessen
open(STDOUT, "/dev/null"); # oder eine temporäre Datei
}
[...]
Aber Achtung: Manche Webserver terminieren, oder killen sogar den Prozess, wenn STDOUT geschlossen wird. Falls dies geschieht, kommst du nicht darum herum, alle print's zu entfernen, oder mit # zu versehen.
Viele Grüsse
Philipp
Hallo,
ja wie geht denn sowas?
xxx.htm ruft über Server xxx.pl auf und will kein html und keine
leere Seite zurück und auch kein history.back() und nix.
xxx.html ruft nie und nimmer eine anderes Seite auf, weder Script noch statisch. Das mach immer der Browser, sobald der Benutzer desselben eine entsprechende Aktion ausführt.
xxx.htm soll einfach nur da stehenbleiben und xxx.pl soll irgendwas
machen und sich NICHT zurückmelden.
Und wenn der Browser einen HTTP-Request absetzt, dann erwartet er _zwingend_ eine Antwort, sonst kommt eine Fehlermeldung (Server nicht gefunden, keine Daten übertragen...).
Der Server ist also vom HTTP-Protokoll her verpflichtet irgendwas zurückzusenden, wenn das Script keine Ausgabe durchführt, dann gibts einen Fehler.
An einem neuen Seitenaufbau kommst Du also nicht umhin.
Was bleiben da noch für Möglichkeiten?
Mir fällt spontan nur ein, daß Du eventuell ein Frameset verwenden kannst und dazu in einem Teil die Datei xxx.html darstellen, welche dann im anderen Frame (so klein, daß man es kaum sieht) den benötigten Request ausführt.
Meiner persönlichen Meinung nach würde ich Dir aber abraten. Die Anwender erwarten, daß etwas passiert, wenn sie irgendwo drauftipseln, zumindest einen Neuaufbau der Seite. Das ist ein browserübliches Verhalten. Wenn Du dies umgehst, so gibts IMHO nur Verwirrungen.
Grüße
Klaus
Hallihallo
Mir fällt spontan nur ein, daß Du eventuell ein Frameset verwenden kannst und dazu in einem Teil die Datei xxx.html darstellen, welche dann im anderen Frame (so klein, daß man es kaum sieht) den benötigten Request ausführt.
Oder ein verstecktes Bild.
<img src="/cgi-bin/bla.pl" width=1 height=1>
Viele Grüsse
Philipp
xxx.htm ruft über Server xxx.pl auf und will kein html und keine
leere Seite zurück und auch kein history.back() und nix.
xxx.htm soll einfach nur da stehenbleiben und xxx.pl soll irgendwas
machen und sich NICHT zurückmelden.
Weiß jemand, wie man sowas hinkriegt?
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5