Sofortaufruf einer Seite, trozt längerer PHP-Funktion

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

  • Sofortaufruf einer Seite, trozt längerer PHP-Funktion

    Tach zusammen

    Bin neu hier und ich arbeite momentan an einer Website.
    Leider sind meine PHP-Kenntnisse bescheiden.

    Folgendes Problem stellt sich mir:

    Ich hab eine längere PHP-Funktion was von einer externen xml daten ausliesst. Das ganze dauert einige Zeit (10-20sek).

    Geöffnet wird das ganze durch einen normalen Hyper-link in einem Menü.
    Nach dem klicken auf den Link passiert einige Sekunden garnichts.
    Erst nachdem alle daten ausgelesen wurden öffnet sich die verlinkte Seite.

    Um den Besucher der Website zu signalisieren 'es passiert etwas' wollte ich die Seite sofort geöffnet haben. Mit einem Ladebalken oä. der am ende mit dem ausgegebenen Datensatz austauscht wird.

    Ich benötige also quasi einen Sofortaufruf der Seite -> Ladebalken / Animation wärend des PHP-Scriptes.

    Womit würde sich das ganze am einfachsten realisieren lassen ?


    btw: Die Funktion läuft durch einen Shortcode.

    mfg
    HerrLich
    Zuletzt geändert von HerrLich; 04.05.2015, 22:59.

  • #2
    Zitat von herrlich Beitrag anzeigen
    ich benötige also quasi einen sofortaufruf der seite -> ladebalken / animation wärend des php-scriptes.

    Womit würde sich das ganze am einfachsten realisieren lassen ?
    AJAX

    Kommentar


    • #3
      Danke für die Antowrt. Auch wenn sie etwas mager ausgefallen ist.

      Bin beim Googlen auch schon auf AJAX gestoßen doch leider keine konkreten Beispiele oä. gefunden was mir weiter hilft. In Javascript bin ich noch weniger bewandert als in PHP. Aber ich werde mein bestes versuchen.

      Wäre jemand so freundlich, der in dem Bereich etwas Erfahrung hat, mir ein Beispiel oder Inspiration zu liefern ? ^^

      Kommentar


      • #4
        Zitat von HerrLich Beitrag anzeigen
        Bin beim Googlen auch schon auf AJAX gestoßen doch leider keine konkreten Beispiele oä. gefunden was mir weiter hilft.
        Ich bin jetzt zu faul, um nach AJAX-Einführungsscripts zu googeln, die speziell für dich geeignet sind. Als ich aber vor (vielen, vielen) Jahren das erstemal mit AJAX experimentiert habe, gabs da eigentlich jede Menge.
        ...
        Okay, um wenigstens ein paar Startpunkte zu setzen: Der Wikipedia-Artikel zu AJAX hat ein einfaches Beispiel als JavaScript-Source. Der Kern von AJAX ist das XMLHttpRequest-Objekt (das X in AJAX). Dessen Wikipedia-Artikel ist recht ausführlich. Eventuell gibts im WikiMedia-Universum auch ein Wikibook dazu, das eine Schritt-für-Schritt-Anleitung bereithält.

        Auch brauchbar und in deutsch:
        JavaScript/Ajax ? SELFHTML-Wiki
        JavaScript/API/XMLHttpRequest ? SELFHTML-Wiki

        In Javascript bin ich noch weniger bewandert als in PHP. Aber ich werde mein bestes versuchen.
        Viel Glück. Erfolg wird dir nur beschieden werden, wenn du beides halbwegs beherrschst.

        Wäre jemand so freundlich, der in dem Bereich etwas Erfahrung hat, mir ein Beispiel oder Inspiration zu liefern ? ^^
        Prinzipiell muss dein erstes PHP-Script (das auf dem Server läuft), die Information über den Fortschritt der Aktion irgendwo abspeichern. Eine temporäre Datei kann dafür ausreichen. Bei Mehrbenutzer-Betrieb (siehe weiter unten) ist aber eine Datenbank-Tabelle besser.

        Ein zweites PHP-Script (auch auf dem Server) liefert auf Anfrage vom Browser diese Information aus. Das Datenformat kann hier simpler Text sein (beispielsweise eine Prozentangabe). Das ist zwar dann AJA"X" nur mit halbem X, reicht aber für diesen Einsatzzweck völlig aus.

        Ein JavaScript (im Browser) fragt in regelmäßigen Abständen das zweite PHP-Script nach dem Fortschritt der Aktion und stellt diesen im Browser dar.

        Das ist im Prinzip nicht sehr schwer zu bauen. Problematisch wird das ganze, wenn mehrere solcher Abfragen per Browser gleichzeitig gemacht werden. Dann muss jede Fortschritts-Information mit einer ID versehen werden, damit das zweite Server-Script sie auseinanderhalten kann.
        Zuletzt geändert von fireweasel; 07.05.2015, 12:02. Grund: typo + beispiellinks + s/dass/das/ (meine Verblödung schreitet offenbar voran)
        Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

        Kommentar

        Lädt...
        X