HTML-Datei aus Perl aufrufen
Mario
- perl
0 Sven Rautenberg0 kerki
Hallo und einen schönen guten Abend an alle!
Ich habe heute auch mal ein Problem und hoffe, das mir hier jemand helfen kann (falls mir noch zu helfen ist ;-) ).
Also folgendes Problem:
Ich habe mir ein Gästebuch in Perl geschrieben, welches einerseits eine MySql Dantebank ausliest (Ausgabe erfolgt in SHTML Datei) und neue einträge in einer MySql Datenbank speichert. Im Moment erzeugt ein Eintrag noch eine HTML-Ausgabe als Danksagung welche dann wieder auf das eigentliche GB zurückleitet.
Ich würde nun aber gerne direkt aus dem Perl-Script die GB-Seite wieder aufrufen lassen. Also die HTML Zwischenseite rauslassen.
Geht das, und wie stell ich das an?
Vielen Dank schonmal im Vorraus.
Gruß
Mario
Moin!
Ich würde nun aber gerne direkt aus dem Perl-Script die GB-Seite wieder aufrufen lassen. Also die HTML Zwischenseite rauslassen.
Geht das, und wie stell ich das an?
Hängt davon ab, wie du es jetzt realisiert hast. :)
Wenn das Perl-Skript irgendwo definiert bekommt, welche per HTTP erreichbare Seite als Danke auszugeben ist, dann ändere diese Definition.
Wenn das Skript per print die Seite selbst erzeugt, dann ändere dort die Ausgabe des HTTP-Headers in einen Redirect zum Gästebuch um (und schmeiß die restlichen print-Befehle raus).
Wenn alles ganz anders läuft, mußt du es anders machen. Und dazu nocmal melden, wie es läuft, denn Raten ist für solche Dinge ein ganz schlechtes Spiel.
- Sven Rautenberg
Hallo !
Wenn das Skript per print die Seite selbst erzeugt, dann ändere dort die Ausgabe des HTTP-Headers in einen Redirect zum Gästebuch um (und schmeiß die restlichen print-Befehle raus).
Da ich mich auch immer hoffnungslos in der Perl-Dokumentation verlaufe, hier die passende Stelle aus den PerlFAQ:
--------------------------------------------------------------------
"How do I redirect to another page?
According to RFC 2616, ``Hypertext Transfer Protocol -- HTTP/1.1'', the preferred method is to send a Location: header instead of a Content-Type: header:
Location: http://www.domain.com/newpage
Note that relative URLs in these headers can cause strange effects because of ``optimizations'' that servers do.
$url = "http://www.perl.com/CPAN/";;
print "Location: $url\n\n";
exit;
To target a particular frame in a frameset, include the ``Window-target:'' in the header.
print <<EOF;
Location: http://www.domain.com/newpage
Window-target: <FrameName>
EOF
To be correct to the spec, each of those virtual newlines should really be physical "\015\012" sequences by the time your message is received by the client browser. Except for NPH scripts, though, that local newline should get translated by your server into standard form, so you shouldn't have a problem here, even if you are stuck on MacOS. Everybody else probably won't even notice.
--------------------------------------------------------------------
Gruß,
kerki