Zwischenseite "Bitte warten ..." - bei großer berechnung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zwischenseite "Bitte warten ..." - bei großer berechnung

    Hallo,
    ich habe ein Formular in der der User 20 Eingaben macht. Dann startet eine ziemlich aufwendige Berechnung. Ich würde nun gerne einn zwischenstatus "Bitte kurz warten..." machen, damit der User sieht, dass gerade etwas passiert und er nicht nur eine leere weiße Seite vor sich hat und warten muss bis die berechnung die ausgabe ausspuckt.

    Bisher hatte ich so etwas einfach so gelöst, dass ich eine zwischenseite mache auf der "bitte kurz warten..." steht und wenn er mit der Berechnung fertig ist springt er über meta-refresh auf die nächste seite. Das funktioniert aber leider in dieser Sache nicht, da ich erstens die 20 Eingaben des Users auf der Ausgabeseite brauche und zweitens das Ergebnis mir auch 30 Wertea ausspuckt. Und diese werte kann ich ja nicht mit dem meta-refresh auf die ausgabeseite übergeben [hoffe ich erklär das nicht zu verwirrend ] ... gibt es für so etwas eine andere lösung?
    ich hatte vorhin das tutoris "progressclass" gelesen und hatte mich echt gefreut nun ne lösung dafür gefunden zu haben, aber da dies auf dem mac nicht funktioniert und auch nur unter explorer 5.X und netscape 6.X bringt mir das leider auch nichts

    wie löst ihr denn so etwas?

    Danke schon einmal

  • #2
    schau mal im Handbuch unter OutputControl nach!

    gruss

    Kommentar


    • #3
      Und wo finde ich das (steht nix in meinem buch hier und google hat mir auch net weitergeholfen)? Gibt es dazu beispiele?

      Kommentar


      • #4
        http://www.php.net/manual/de/ref.outcontrol.php

        Kommentar


        • #5
          Ok. Danke. Mal gucken ob ich das versteh *Seufz*

          Kommentar


          • #6
            Selbst wenn es funkioniert, bleibt die Wartemeldung auf der Seite stehen, wenn man es einfach nur mit ob macht.
            Und von einem Windows-Server wird die Message vermutlich erst ausgegeben, wenn das Skript zu Ende gelaufen ist.


            eine relativ einfache Server-unabhängige Lösung:

            seite1:
            1. Formulardaten werden empfangen und irgendwo (Datei, Datenbank, Session) zwischengespeichert.
            2. Ausgabe <meta http-equiv="refresh" content="0;seite2.php"> (im HTML head)
            3. Ausgabe der Wartemeldung (HTML body)

            seite 2:
            1. Formulardaten wieder einlesen
            2. falls während der Berechnung schon was ausgegeben wird: ob_start();
            3. Berechnung und eventuelle Zwischenausgaben
            4. (nur nach ob_start ob_end_flush();
            5. Ausgabe der Ergebnisse

            Sobald das erste Byte an den Browser gesendet wird, verschwindet die Wartemeldung und die neue Seite erscheint.
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar

            Lädt...
            X