Programmiertechnik aktualisierung des Browsers.
carsten schlichting
- php
Hi
steuere meine PHP seite (index.php) mit schaltflächen die z. B. so gehen:href="index.php?scha=2"
Die Variable hier scha=2 wird ausgelesen und das PHPscript gesteuert.
Jetzt ist folgendes problem aufgetreten. In der der adresszeile steht natürlich jetzt auch ...index.php?scha=2 und wenn der Browser aktualisiert wird denkt das script, dass eine Schaltfläche gedrückt worden ist.
Wie kann man sowas umgehen?
viele Grüße carsten
Wie kann man sowas umgehen?
11.4. Sollte ich besser GET oder POST verwenden?
http://www.php-faq.de/q/q-formular-methode.html
Ahoi carsten schlichting,
Wie kann man sowas umgehen?
möglichkeit a:
Deine Schaltflächen sind Submit-Buttons und das Form steht auf
method="get" ändere das auf post.
möglichkeit b:
Deine Schaltflächen sind links, ändere diese in submit-buttons steck sie
in ein form und benutze post.
möglichkeit c:
lass dein script es sich merken das die Schaltfläche geklickt wurde und
lass es jeden weiteren klick darauf ignorieren.
MfG
Hi
steuere meine PHP seite (index.php) mit schaltflächen die z. B. so gehen:href="index.php?scha=2"Die Variable hier scha=2 wird ausgelesen und das PHPscript gesteuert.
Jetzt ist folgendes problem aufgetreten. In der der adresszeile steht natürlich jetzt auch ...index.php?scha=2 und wenn der Browser aktualisiert wird denkt das script, dass eine Schaltfläche gedrückt worden ist.
Wie kann man sowas umgehen?
viele Grüße carsten
Das Problem hatte ich letztens auch, genau so ist es, wenn an eine php-seite formular-daten übergeben werden. Ich hab das dann - provisorisch - so gelöst, dass nach abarbeitung der Variable (hier scha) mittels meta-umleitung dieselbe seite nochmal aufgerufen wird, aber diesmal ohne scha=2
Ahoi Marc,
Ich hab das dann - provisorisch - so gelöst, dass nach abarbeitung der Variable (hier scha) mittels meta-umleitung dieselbe seite nochmal aufgerufen wird, aber diesmal ohne scha=2
Das ist aber wirklich eine provisorische Notlösung, du kennst den Zurück
Button den so ziemlich jeder Browser "anbietet"?
MfG
echo $begrüßung;
Ich hab das dann - provisorisch - so gelöst, dass nach abarbeitung der Variable (hier scha) mittels meta-umleitung dieselbe seite nochmal aufgerufen wird, aber diesmal ohne scha=2
Eine Meta-Umleitung macht die Zurück-Funktion des Browswer kaputt. Eine Umleitung per Location-Header macht das nicht.
Mit welcher Lösung hast du dann das Provisorium abgelöst?
echo "$verabschiedung $name";
Hiho,
je nach Anwendungsgebiet:
Grüße
Marc
Hi
danke für den Tip - glaub, dass das mit der Zufallszahl eine gute Lösung ist.
werde wahrscheinlich anstatt dem zufallswert einfach eine variable hochzählen lassen und in der SESSION abspeichern.
was passiert denn eigentlich bei dem zurück-button am Browser. Da wird doch einfach die letzte URL oben eingegeben. das ist auch noch einmal ein Problem, das ich lösen muß. Theoretisch müßte ich ja alle aufrufe der seite mit einer variable durchzählen und alle $variablen_werte in arrays abspeichern- oder?
Also grüße und danke nochmal
carsten
Hallo carsten.
was passiert denn eigentlich bei dem zurück-button am Browser.
Das ist browser- bzw. IEabhängig.
Da wird doch einfach die letzte URL oben eingegeben.
Eher nicht. In den meisten Fällen wird vielmehr die letzte im Browsercache befindliche Version der betroffenen Seite aufgerufen (aus diesem Grund muss man in modernen Browsern Formulare--bis auf Passwortfelder--nicht noch ein Mal ausfüllen). Doch auch dieses Verhalten und der tatsächliche Umfang sind Konfigurationssache.
Einen schönen Dienstag noch.
Gruß, Ashura