Thread "Bitte warten"-Zwischenseite
(16 answers)
Opened by amun-ra198 at 2008-02-29 23:01
bin jetzt nah dran die sache irgendwie anders umzusetzen. Anscheinend hat mein Skript irgendwo ein Problem, ich kann aber nicht ausmachen was das Problem ist. Der durch den Fork entstandenen Child Prozess erstellt die Datei nicht und daher wartet das Skript "ewig". Witzigerweise wird die Datei erstellt, wenn ich in den vorangegangenen Block den http header einfüge. Dann funktioniert aber der redirect natürlich nicht mehr. An der open Anweisung liegt es jedenfalls nicht, die hatte ich testweise schonmal durch eine db anweisung ersetzt, die wird genauso wenig ausgeführt. Vielleicht liegts an der Kombination fork, iis6.0 und IE. Der fork für windows ist ja nur emuliert.
Aufbauend auf deinem Skript pq hatte ich auch noch einen anderen Ansatz ausprobiert, der eine ähnliche Funktion hat. Allerdings funktioniert hier der die Ausgabe des Ergebnisses nicht, das Skript läuft einmal durch, gibt aber dann das Ergebnis nicht aus. Vielleicht kannst Du Dir das nochmal ansehen... ? Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 #!/usr/bin/perl -w $| = 1; use strict; use CGI; my $cgi = new CGI; my $variable1 = $cgi->param('type') || 'nothing'; my $variable2 = $cgi->param('show') || 'nothing'; my $url = 'http://server/cgi-bin/skript2.pl'; print "Content-type: text/html \n\n"; if ($variable1 eq 'process') { print ' '; print 'please wait'; # Symbolisiert den Prozess sleep 5; my $meta = $cgi->start_html( my $meta_refresh = -head => $cgi->meta( { -http_equiv => 'refresh', -content => "2; $url?show=result", } )); print $meta; } elsif ($variable2 eq 'result') { print 'result'; } thx |