Ausgabe unterdrücken
Bernhard
- perl
0 Michael Schröpl0 GONZO
Hallo,
ich habe ein Script de Bilderupload ermöglicht und zwar hier vom Forum:
#! /usr/bin/perl
binmode STDIN;
read STDIN, $Daten, $ENV{'CONTENT_LENGTH'};
@Teile = split /-----------------------------.{9}/, $Daten;
@Datei = split /\n/, $Teile[1], 5;
while ($Datei[1] =~ /\/) { $Datei[1] =~ s/^.*\//; }
$Datei[1] =~ s/"//;
chop $Datei[1];
chop $Datei[4]; chop $Datei[4];
open DATEI, ">>../../proddoc-pd/b/$Datei[1]
";
binmode DATEI;
print DATEI $Datei[4];
close DATEI;
print "Content-type: text/html\n\n<table border=0 align=center><tr><td height=70> </td></tr><tr height=70><td><font face=Arial,Helvetica><h4>Upload vollständig!</h4></font></td></tr></table>";
Nun möchte ich, daß nach dem Absenden des Bildes keine neuen Seite geladen wird mit der Bestätigung in den letzten drei Zeilen.
Lasse ich die Zeilen weg so konnt eine Fehlermeldung.
Wie schaffe ich es das die Formularseite nicht von der Bestätigung oder einem Fehler überdeckt wird.
Danke für Hilfe!
BK
Wie schaffe ich es das die Formularseite nicht von der Bestätigung oder einem Fehler überdeckt wird.
Gar nicht.
Du forderst über einen URL eine neue Seite vom Server an. Daß *nebenbei* auch eine Datei zu diesem transportiert wird, das ist quasi ein Seiteneffekt, der aber nichts daran ändert, daß der Server dem Browser ein Dokument 'schuldig' ist.
Das Archiv-Suchskript http://www.teamone.de/cgi-local/sfasuch.pl hat dasselbe 'Problem'.
Es ist dort dadurch gelöst, daß das Skript selbst (!) das ursprüngliche HTML-Formular ausgibt, wenn es *ohne* CGI-Parameterwerte aufgerufen wird.
Und wenn es *mit* Parameterwerten aufgerufen wird, dann 'arbeitet' es auf dem Server - und gibt danach wieder dasselbe Eingabeformular aus (sogar inklusive der dort zuvor vom Anwender eingetragenen Werte).
Und danach gibt 'ganz nebenbei' auch noch das Suchergebnis aus ... ;-).
Hallo Bernhard
die schnelle und dreckige (Q&D) Universallösung:
Statt: print "content-type ...";
einfach: print "location: http://host.domain.tld/vom/formular.html\n\n";
CYa
GONZO