Ist es möglich während eines Datei-Uploads eine „Bitte-Warten“-Seite anzuzeigen und beim erfolgreichen Upload eine Bestätigungsseite auszugeben?
Beim Upload passiert folgendes:
1. Im Formular wird Absenden gedrückt.
2. Der Browser sendet eine Anfrage an den Server, die genauer betrachtet aus einem POST-Befehl und der zu übertragenden Datei besteht.
3. Hat der Server die Anfrage _vollständig_ erhalten, setzt er das PHP-Skript in Gang.
4. PHP-Skript kann Antwortseite schicken.
Das bedeutet schonmal, daß Dein verarbeitendes PHP-Skript kein "Bitte warten" anzeigen kann, da es nicht eher gestartet wird, bevor nicht alle die Daten beim Server angekommen sind.
Das "Bitte warten" muß also vom Formular selber per Javascript kommen, zum Beispiel indem ein anfangs verstecktes Element mit diesem Text über das Formular gelegt wird (DOM/CSS-display).
Bedenke aber, daß die sicherlich eine Menge Leute durchaus wissen werden, daß sie eine Datei verschicken und sich dementsprechend auch im klaren darüber sind, daß das etwas dauern kann.
Daß es noch dauert, erkennen mindestens genausoviele Leute daran, daß die Modemlampen (oder was der Rechner als Äquivalent anbietet) noch am blinken sind.
Insofern solltest Du Dir mit dem "Bitte warten" nicht allzuviel Mühe geben, sprich: keine allzu verquere Konstruktion zusammenzimmern, die womöglich die Benutzung des Formulars auch noch einschränkt, weil sie Javascript voraussetzt anstatt Javascript als zusätzlichen Komfort nur optional zu nutzen.
Anders ausgedrückt: Deine Besucher möchten eine Datei abschicken, nicht ein "Bitte warten"-Schild bewundern. Die "Bitte warten"-Funktion darf somit unter _keinen_ Umständen die Benutzung des Formulars behindern.
Die Ausrede "Wer Javascript abschaltet ist blöd" zählt nicht und deutet nur darauf hin, daß die aussagende Person nicht in der Lage war, die eigentliche Aufgabenstellung zu erkennen, sondern sich lieber dem Sandkastenspieltrieb hingegeben hat :)
Gruß,
soenk.e