markus: Verhindern, das eine Seite mit F5 neugeladen wird

Hi,

wenn ich eine Seite aufrufe, und diese mit f5 aktualisiere bleibt die Getvar in der url ja erhalten... Wie kann ich nun entweder verhindern, dass man die seite mit f5 reloaded oder, dass die Get-Var nach ausführen der Datei gelöscht wird?

Gruß und danke im vorraus

  1. Hi,

    wenn ich eine Seite aufrufe, und diese mit f5 aktualisiere bleibt die Getvar in der url ja erhalten... Wie kann ich nun entweder verhindern, dass man die seite mit f5 reloaded

    erstens kannst Du es gar nicht verhindern.
    Zweitens nicht mit einer serverseitigen Technik.
    Drittens auch nicht das Neuladen per Strg+R bzw. Apfel+R, Kontextmenü, Browsermenü, Plugins, Bookmarks, andere Clients oder allgemein gesagt: die unendlich vielen Möglichkeiten, eine URL anzufordern.

    oder, dass die Get-Var nach ausführen der Datei gelöscht wird?

    Was Du serverseitig machst, also ob Du beispielsweise irgendwie überprüfst, ob eine Aktion bereits ausgeführt worden war, bleibt Dir überlassen. Das wiederholte Neuladen ist Sache des Users.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Danke für die schnelle Antwort.

      mal angenommen, ich würde überprüfen wollen, ob der vorgang schon ausgeführt wurde, was müsste ich denn da schreiben?

      Gruß

      1. Hi,

        mal angenommen, ich würde überprüfen wollen, ob der vorgang schon ausgeführt wurde, was müsste ich denn da schreiben?

        Du müsstest diejenigen Daten, die zur Identifizierung des Vorganges hinreichend sind, persistent speichern.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. persistent speichern?

          Erläuter mal wie du das meinst...

          1. Hi,

            persistent speichern?

            Erläuter mal wie du das meinst...

            Das war für mich auch ein Fremdwort

            Dein Problem lässt sich lösen, wenn du bei jedem Seitenaufruf mit GET-Parametern (auch bei POST) einen zusätzlichen (einmaligen) Parameter einbaust und diesen dann serverseitig (z.B. in einer DB) abspeicherst. Wenn die Seite zum zweiten mal mit dem Parameter aufgerufen wird weißt du, dass der Aufruf auf "nicht gewünschte Weise" (also z.B. mit Reload oder History-Back) verursacht wurde.

            Beispiel:

            1. gb.php?id=5&a=eins&b=zwei  (gültiger Aufruf)
            2. gb.php?id=5&a=drei&b=vier  (ungültiger Aufruf)
            3. gb.php?id=6&a=drei&b=vier  (gültiger Aufruf)
            4. gb.php?id=7&a=drei&b=vier  (gültiger Aufruf)

            Eventuell reicht es auch aus, wenn du Überprüfst, ob die ohnehin schon übertragenen Parameter (im Beispiel a und b)ausreichen, um zu entscheiden, ob der Aufruf gültig war oder nicht. Damit könntest du dir den zusätzlichen Parameter sparen.

            Dann würde das Beispiel so aussehen:

            1. gb.php?a=eins&b=zwei  (gültiger Aufruf)
            2. gb.php?a=drei&b=vier  (gültiger Aufruf)
            3. gb.php?a=drei&b=vier  (ungültiger Aufruf)
            4. gb.php?a=drei&b=vier  (ungültiger Aufruf)

            Hoffe du verstehst einigermaßen, wie ich es gemeint habe.

            Ich weiß nicht, ob das die beste Lösung für dein Problem ist, aber es ist zumindest mal eine Lösungsmöglichkeit.
            Vielleicht kann sich ja noch jemand dazu äußern, wie solche Probleme in der Praxis gelöst werden, da ich sowas noch nie wirklich praktisch umgesetzt habe.

            mfG,
            steckl

            1. Danke für die Antwort :)

              das war die lösung ;)

              Gruß

            2. Hi,

              Vielleicht kann sich ja noch jemand dazu äußern, wie solche Probleme in der Praxis gelöst werden, da ich sowas noch nie wirklich praktisch umgesetzt habe.

              Mit einer ID, die gespeichert und vor der Verarbeitung geprüft wird. ;)

              Ich persönlich hänge ggf. an einen beliebigen Parameternamen eine solche ID (sende sie also nicht als eigenständigen Parameter). Das, sowie das Auswerten der ID geschieht dann im Wesentlichen automatisch, so daß ich mich gar nicht erst weiter darum kümmern muß ...

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      2. Hallo,

        mal angenommen, ich würde überprüfen wollen, ob der vorgang schon ausgeführt wurde, was müsste ich denn da schreiben?

        Eine Möglichkeit:
        Verteile einen Schlüssel also z.B.
        deineSite.de/index.php?key=saekjf
        diesen Schlüssel speicherst Du in einer Datenbank und löschst ihn sobald die Seite einmal aufgerufen wurde, wahrscheinlich nicht die schönste Variante, aber geht...
        Mit Der IP zu identifiziern geht auch. Finde ich aber nicht schön!

        M.f.G. EneR