Ankündigung

Einklappen
Keine Ankündigung bisher.

Mit JavaScript Status einer PHP-Variable auslesen

Einklappen

Neue Werbung 2019

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

  • Mit JavaScript Status einer PHP-Variable auslesen

    Hallo erstmal,

    Folgendes:
    Ich habe einen ein PHP Skript in der es eine Variable gibt den den Status der Aktion beschreibt. Am Anfang 1, in der Mitte 2 und am Ende 3.

    Und jetzt will ich mithilfe von JS den Status der PHP-Variable auslesen und je nach dem welche Zahl darin steht 1,2 oder 3 soll der Text mit innerHTML geändert werden.

    Wie muss ich dazu vorgehen?
    Danke im voraus


  • #2
    - Skript Eins - lange Ausführungszeit. Das Skript muss eben am Anfang, in der Mitte und am Ende des Ablaufs den Status irgendwo festhalten so dass von außerhalb des Skripts darauf zugriffen werden kann - in der Session, in der Datenbank oder so.

    - Skript Zwei: Bearbeitet die mit (AJAX?-)JS gesendete Anfrage. Skript Zwei liest den von Skript Eins gespeicherten Statuswert aus und gibt ihn zurück.

    Kommentar


    • #3
      Aber das passiert alles in derselben Datei.
      Ist das ein Problem?

      Wie und wo soll der PHP-Teil das speichern?

      Und benötige ich dazu AJAX?
      Wie muss ich abfragen das es klappt einfach mit ner if?

      Kommentar


      • #4
        Hallöchen,

        verabschiede dich von der Vorstellung, dass dein PHP-Code während der Ausführung in irgendeiner Form mit deinem JavaScript-Code kommunizieren kann. Die Kommunikation findet immer über HTTP statt, d.h. dein Browser sendet einen Request, dein PHP-Code schnürt serverseitig ein Päckchen und sendet es zurück. Anschließend kann der Browser das fertige Päckchen darstellen, verarbeiten, whatever.

        Wenn du nun ein Script hast, dessen Ausführung einige Zeit in Anspruch nimmt, kommst du nicht drum herum, clientseitig - also mit JavaScript - regelmäßig einen Request auf den Server loszulassen, der den aktuellen Status deines Scripts prüft. Jenes Script sollte den Status irgendwo festhalten - bspw. in der Datenbank, sodass weitere Scripts diesen auslesen können.

        Mein Tipp: mach es dir nicht so kompliziert und benutze einen Ladekringel. Der ist viel bequemer

        Viele Grüße,
        lotti

        Kommentar


        • #5
          Ergänzend: http://php-de.github.io/jumpto/was-ist-php/
          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Zitat von lottikarotti Beitrag anzeigen

            Wenn du nun ein Script hast, dessen Ausführung einige Zeit in Anspruch nimmt, kommst du nicht drum herum, clientseitig - also mit JavaScript - regelmäßig einen Request auf den Server loszulassen, der den aktuellen Status deines Scripts prüft. Jenes Script sollte den Status irgendwo festhalten - bspw. in der Datenbank, sodass weitere Scripts diesen auslesen können.

            lotti
            Danke für deine Antwort!
            Natürlich weiß ich das PHP serverseitig läuft, weswegen ich meine Frage mittlerweile selber komisch finde.

            Aber leider reicht mir ein Ladekringel nicht, denn es geht dabei um einen Dateikonverter.

            Zur Erklärung:
            Datei wird hochgeladen, Variable auf 1
            Datei wird verarbeitet, Variable auf 2
            Datei ist fertig:, Variable auf 3: Link zum Download

            Deswegen brauch ich das...

            Also wie mach ich das am besten mit den Requests ich kenn mich in JS leider nicht gut aus.
            Kannst du mir ein bisschen Code geben?

            Kommentar


            • #7
              Kannst du mir ein bisschen Code geben?
              jquery ist eine JS Bibliothek, die dir den Umgang mit AJAX erleichtert. Es gibt dusende Beispiele, komm mit einem Ansatz zum diskutieren, aber frag bitte nicht nach fertigem Code. Vor allem nicht als Fortgeschrittener!
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #8
                Ich bin kein Fortgeschrittener.
                Vorallem nicht im JS Bereich.

                Könntest du mit wenigstens den Ansatz erklären?
                Oder ein ähnliches Beispiel zeigen?

                Kommentar


                • #9
                  http://lmgtfy.com/?q=jquery+ajax
                  Zitat von nikosch
                  Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

                  Kommentar


                  • #10
                    Du hast die Aufgabe doch schon in Teile zerlegt, die musst du nur noch umsetzen.

                    - event handler auf das Form submit setzen und die "working" grafik zeigen
                    - einen regelmässigen Thread einsetzen um Statusinfos abzufragen
                    - wenn status Erfolg anzeigt, "working" grafik ausblenden
                    - Dein arbeitendes PHP Script setzt die Informationen für das status abfragende PHP Script.
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Verstehe, ich kann mit AJAX oder eben jQuery HTTP-Anfragen durchführen.
                      Jetzt würde ich aber gerne wissen, wie und wo ich die PHP-Variable abspeichern soll das ich die Werte per jQuery aulesen und verarbeiten kann?

                      Kommentar


                      • #12
                        Zitat von FullHouse Beitrag anzeigen
                        Verstehe, ich kann mit AJAX oder eben jQuery HTTP-Anfragen durchführen.
                        Jetzt würde ich aber gerne wissen, wie und wo ich die PHP-Variable abspeichern soll das ich die Werte per jQuery aulesen und verarbeiten kann?
                        Lies doch einfach mal das was man dir bereits zu Beginn des Threads geschrieben hat.

                        Kommentar


                        • #13
                          Zitat von lstegelitz Beitrag anzeigen
                          Du hast die Aufgabe doch schon in Teile zerlegt, die musst du nur noch umsetzen.

                          - event handler auf das Form submit setzen und die "working" grafik zeigen
                          - einen regelmässigen Thread einsetzen um Statusinfos abzufragen
                          - wenn status Erfolg anzeigt, "working" grafik ausblenden
                          - Dein arbeitendes PHP Script setzt die Informationen für das status abfragende PHP Script.
                          Das ist bis nun der Beitrag der mir am meisten bringt.
                          Nun ein paar Fragen dazu:

                          zu 1. Was ist ein Event handler?
                          zu 2. Wie setzte ich so einen Thread (jaja ich weiß mit jQuery aber wie) - ein Stichwort bitte
                          zu 3. Woher beziehe ich den nun den Status?
                          zu 4. Seit wann brauch ich jetzt zwei PHP-Skripte?

                          Kommentar


                          • #14
                            1. In JS gibt's Events - Ereignisse. Jemand klickt etwas an? Ein Event (click). Eine Taste wird gedrückt? Ein Event (Key pressed). Usw. Event Handler: Eine function die aufgerufen wird, wenn ein Event ausgelöst wird. Beispiel:
                            Code:
                            $('#beispiel-element').click(function()
                            {
                                alert('Ich wurde angeclickt!');
                            });
                            click ist der Name des Events. Es wird ausgelöst, wenn das Element mit der ID beispiel-element angeklickt wird. In dem Fall nutzen wir eine namenlose Funktion als Event Handler. Sie wird aufgerufen wenn das Element angeklickt wird. Wenn ein Form abgeschickt wird, wird das Event submit ausgelöst. Dem kannst du natürlich auch einen Event Handler zuweisen.

                            3. Wie schon gesagt wurde: Siehe http://www.php.de/javascript-ajax-un...tml#post820059

                            4. Also, du hast ein Skript für die Konvertierung. Dieses Skript wird angestoßen - und das war's. Es kann keine Statusmeldungen zurückgeben! Es geht einfach nicht* - Ende der Diskussion. Es kann einmalig etwas zurückgeben nachdem es fertig ist, aber nicht vorher. So funktionieren PHP + HTTP. Ganz dumpf gesagt: Du benötigst zwei Skripte, weil es nur mit einem nicht geht. Du kannst auch drei nehmen... Aber jedenfalls nicht nur eines. Das zweite Skript hat nur eine Aufgabe, nämlich auszugeben, in welchen Schritt sich das erste befindet.

                            * Ich will es nicht beschwören - vielleicht geht's mir irgend welchen Tricks - aber das wäre absurdes Design.

                            Kommentar


                            • #15
                              Okay vielen Dank, langsam verstehe ich.

                              Und diese Variablen soll ich in einer Session oder DB speichern? Ich habe keine DB also steht das außer Frage. Was ist eine Session?
                              Und das zweite Script ist in AJAX geschrieben? Also jQuery? Und mit diesem muss ich auf die Session zugreifen?

                              Kommentar

                              Lädt...
                              X