Ankündigung

Einklappen
Keine Ankündigung bisher.

Ausführen von PHP Code bei F5 (Aktualisieren) verhindern

Einklappen

Neue Werbung 2019

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

  • Ausführen von PHP Code bei F5 (Aktualisieren) verhindern

    Hallo,

    folgendes Problem:

    Ich habe ein Frameset in dem ein Frame die größe 1 hat, also sozusagen unsichtbar ist. In diesem Frame führe ich dann Aktualisirungen in Datenbanken durch, usw...

    Wie kann ich jetzt verhindern, das bei Drücken der F5 Taste oder durch aktualisieren der kompletten Seite der Code in diesem Frame ausgeführt wird.

    Ich möchte das das PHP Skript dieses Frames nur durch window.open (...) aus einem anderen Frame aufgerufen werden kann. Aber nicht durch F5, usw...

    Gruß und Danke

    PsiAgent
    Gruß

    PsiAgent
    Heusenstamm

  • #2
    naja mit PHP kannst du kein F5 abfangen, vieleicht geht das ja mit javascript ? weil php läuft serverseitig ...
    [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
    | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

    Kommentar


    • #3
      Beim f5 wird ja sicher eine neue Anfrage an den Server auch für diesen Frame ausgeführt. Dann muss es doch irgendwie eine Möglichkeit geben festzustellen, das der Frame nicht von einem anderen Frame aufgerufen wurde, sondern durch Aktualisierung.

      Oder geht das nicht ???
      Gruß

      PsiAgent
      Heusenstamm

      Kommentar


      • #4
        php-seitig kannst du nicht rausfinden, ob du dich in nem frame befindest, der aufruf via F5, nem link oder JS passiert ist.

        mfg
        robo47
        [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
        | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

        Kommentar


        • #5
          Es geht :

          hab es gerade rausgefunden :

          Mit $_SERVER['HTTP_REFERER'] kann man die aufrufende URL auslesen, bei Aktualisierung ist diese leer.
          Gruß

          PsiAgent
          Heusenstamm

          Kommentar


          • #6
            Zitat von PsiAgent
            Es geht :

            hab es gerade rausgefunden :

            Mit $_SERVER['HTTP_REFERER'] kann man die aufrufende URL auslesen, bei Aktualisierung ist diese leer.
            keine vernünftige methode weil:

            http://php-faq.de/q/q-http-referer.html
            [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
            | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

            Kommentar


            • #7
              Hmmm....

              wäre jetzt auch zu schön gewesen, wenn das funktionieren würde !!!

              Dann bekomme ich das Problem wohl nur so gelöst in dem ich dem ich das Skript in einem neuen Fenster ausführe und dieses danach wieder automatisch schliesse.

              Sieht aber net schön aus, wenn da mal kurz ein Fenster aufflackert !!!

              Gruß

              PsiAgent
              Heusenstamm

              Kommentar


              • #8
                naja, unsichtbares iframe und vieleicht einen zufallswert immer mit übergeben, z.b. die uhrzeit ?

                also im iframe sowas laden:

                test.php?value=123234234

                und dann entweder über die zeit was machen -> timestamp übergeben und irgendwo den letzen timestamp eintragen oder so ?
                [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
                | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

                Kommentar


                • #9
                  na die einfachste lösung wäre wohl über header auf eine andere seite weiterzuleiten. dann kannste f5 drücken soviel du wills es wird nur die seite geladen und nicht jene von welcher die daten verarbeitet wurden.

                  Kommentar


                  • #10
                    Das mit dem Header ist eine gute Idee !!

                    Vielen Dank euch beiden !!!
                    Gruß

                    PsiAgent
                    Heusenstamm

                    Kommentar


                    • #11
                      Und das funktioniert?
                      Wird das Original-Frameset nicht ebenfalls neu geladen und ausgewertet? Dann steht doch dort wieder erstmal die alte Seite drin....

                      Falls ich gerade totalen Blödsinn erzähle, schiebe ich es einfach auf die Hitze.
                      **********************************
                      Nein, ich bin nicht die Signatur.
                      Ich putze hier nur.
                      **********************************

                      Kommentar

                      Lädt...
                      X