Hi Folks
Es kann nun sein, dass ich einigen Leuten den Spass verderbe. Ich möchte nun aber das Rätseln nach ca. 5h mit einer möglichen Lösung abkürzen.
Das Ziel, das Sunboy erreichen will, wird wohl mit folgendem Code erreicht werden können:
===
#!/usr/local/bin/perl -w
use strict;
use CGI qw/:standard/;
my $textfeld = param('textfeld');
print "Content-type: text/html\n\n";
print "<html><head><title>test</title>";
print "<meta HTTP-EQUIV="REFRESH" CONTENT="3; URL=".$textfeld."">";
print "</head>\n";
print "<body>Bla bla ...";
print "</body></html>\n";
Und nun die Erläuterung zu den einzelnen Zeilen:
use CGI qw/:standard/;
my $textfeld = param('textfeld');
print "Content-type: text/html\n\n";
Mit diesen Befehlen wird das CGI-Modul geladen, der Inhalt des Formularfeldes "textfeld" in den Skalar "texfeld" kopiert und der HTTP-Header für eine HTML-Datei generiert.
Mit dem Schreiben von "\n\n" ist der HTTP-Header abgeschlossen, alles was danach geschrieben wird ist Bestandteil der HTML-Datei. Im Übrigen gibts keinen HTTP-Header-Eintrag der das verzögerte Umleiten erlaubt.
Für das unmittelbare Umleiten steht jedoch der HTTP-Header-Befehl "Location" zur Verfügung.
z.B. print "Location: $textfeld\n\n"; # Ohne Content-Type oder ein anderer HTTP-Haeder-Eintrag davor oder danach.
print "<html><head><title>test</title>";
print "<meta HTTP-EQUIV="REFRESH" CONTENT="3; URL=".$textfeld."">";
Damit wird normal die HTML-Datei geschrieben, die im speziellen den Meta-Tag "Refresh" für die zeitlich verzögerte Weiterleitung enthält.
Zu beachten ist hierbei, dass die Zeitangabe in Sekunden erfolgt, womit der ursprüngliche Wert von 111 sich zum testen nicht sehr eignet ;-)
print "</head>\n";
print "<body>Bla bla ...";
print "</body></html>\n";
Der Rset ist wie gehabt.
Grüsse
Eisbär