p_nut: Problem bei aufwendigem Server-Prozess

Hallo,

ich programmiere gerade ein PHP-Projekt, dass einen relativ aufwendigen Programmcode verwendet. Das heißt, dass ein User ziemlich lange auf den Aufbau einer Seite warten muss. (ca. 15sek)

Während dieser Zeit möchte ich, dass dem User eine "Bitte warten"-Seite angezeigt wird. Wie kann ich das machen?

Es ist ja nunmal so, dass diejenige PHP-Seite angezeigt werden müsste, die eben den Programmcode ausführt. Aber die PHP-Seite kann ja nicht sofort angezeigt werden, da diese 15sek zuerst vergehen. Ich hoffe ich drücke mich verständlich aus. xD

Ich hab überlegt, dass nach Link-Benutzung des Users zu erwähnten PHP-Seite erstmal eine HTML-Seite angezeigt wird, die den "Bitte warten"-Text enthält. In dieser HTML-Seite ist ein iframe, dass unsichtbar die PHP-Seite mit dem Programmcode anfordert. Ein Javscript-Code oder so sollte dann erkennen, ob die angeforderte PHP-Seite im iframe geladen ist und somit der Rechenprozess fertig ist. Ist dies der Fall, soll zu einer Ergebnisseite automatisch weitergeleitet werden.

Ist sowas möglich, oder gibt es einen anderen / einfachen Weg?

Liebe Grüße
p_nut

  1. Hallo,
    die abgebroschene Antwort : "Mach es mit AJAX" kommt hier wieder zum Zug. Dann hättest Du die Möglichkeit über den "normalen" Ajax httpRequest den Status deiner Anfrage abzufrage und solange diese Anfrage nicht "loaded" ist, kannst Du was auch immer anzeigen lassen.

    Schau Dir das mal an dies mal an 30sek. Tutorial
    http://rajshekhar.net/blog/archives/85-Rasmus-30-second-AJAX-Tutorial.html

    in der Funktion handleResponse() gibt es die Abfrage
    if(http.readyState == 4)  - das heißt so viel wie Seite ist geladen,
    eine else Bedingung und Du bist da wo Du hinwillst :)
    Hoffe es hilft. Es wird doch mehr Wind um Ajax gemacht als wirklich weht.