PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aktualisierung F5 und "Zurück" verhindern



Torsten.E
09-05-2004, 20:05
Gibt es eine Möglichkeit, die Aktualisierung per F5-Taste
und das Zurück zu verhindern.

Ich will aber dann eine von mir kontrollierte Fehlermeldung
erstellen.

Torsten.E

Das mit dem Caching sollen angeblich manche Browser ignorieren

mehlvogel
09-05-2004, 22:27
In einem Wort: Nein.

Claudine
12-05-2004, 10:03
Original geschrieben von Torsten.E
Gibt es eine Möglichkeit, die Aktualisierung per F5-Taste
und das Zurück zu verhindern.

Ich will aber dann eine von mir kontrollierte Fehlermeldung
erstellen.

Torsten.E

Das mit dem Caching sollen angeblich manche Browser ignorieren

Mit Javascript, VB, Activ X, Java hast du Zugriff auf einzelne Tasten.

Man könnte z. b. mit Javascript einzelne Browsertasten ansprechen, und Fehlermeldungen mit PHP mitloggen und ausgeben.

Die ZURÜCK Taste im Browser ist glaube ich Teil des windows Objekt (history back).

Bei deaktiviertem Javascript funktioniert dein Script leider nicht!

Torsten.E
12-05-2004, 10:28
Ich will hier keine Diskussion anregen, ob JavaScript eingeschaltet sein muß oder nicht. Auf meiner Seite ist es PFLICHT, da einfach bestimmte Dinge benötigt werden, die ohne nicht gehen.

Das mit dem Zurück und Windows.Objekt interessiert mich.

Wenn ich dieses Zurück "abfangen" kann, ist mir doch schon
geholfen.

Auch das mit dem F5 aktualisieren muß gehen.
WEIL. Seitenzähler ja auch bei erneutem Drücken von F5 nicht
unbedingt die Hits hochzählen. Also muß auch hier eine Aktualisierung
"erkannt" werden. Nur wie ?

Torsten.E

PS: Dass ich dem User die Tasten aus der Tastatur nicht ausbauen kann ist mir klar :-)

Gaert
12-05-2004, 12:52
Hallo Thorsten,

dass sich Seitenzähler nicht weiter aktualisieren liegt ganz einfach an einem Cookie auf client, oder Serverseite. Solange der Cookie vorhanden und gültig ist, kannst du aktualisieren bis du schwarz wirst.

Mit history.back() kannst du zwar die Browsersteuerung übernehmen, aber nicht verhindern, dass der Nutzer den Vor / Zurück Button selbst betätigt. Insofern bringt dir Javascript bei deinem Problem auch nichts.

Ich muss Mehlvogel vollkommen zustimmen... du kannst den Benutzer nicht daran hindern eine Taste zu drücken... kontrollieren könntest du das nur über eine Session oder Cookies in verbindung mit ein wenig Eigenentwicklung.

BLUESCREEN3D
12-05-2004, 20:43
Original geschrieben von Torsten.E
WEIL. Seitenzähler ja auch bei erneutem Drücken von F5 nicht
unbedingt die Hits hochzählen. Also muß auch hier eine Aktualisierung
"erkannt" werden. Nur wie ?
wie schon gesagt wurde wird nicht hochgezählt, wenn der browser ein "zähl-nicht-weiter"-cookie hat

oder:

wenn der server einfach die ips der letzten seitenbesucher speichert (php && mysql z.b.) und nur weiterzählt, wenn die ip des aktuellen besuchers nicht in dieser liste steht

-----------------

zum eigentlichen problem:
du könntest das natürlich so umsetzen (alles z.b. mit php und mysql), dass
-der server hinter jeden link eine id packt und die benutzen ids speichert
-jeder neue link kriegt eine bisher unbenutzte id
-sollte ein link nochmal aufgerufen hat merkt der server, dass die id, die dranhängt schon in der liste steht und zeigt eine fehlermeldung an

von dieser idee würde ich allerdings abraten
1. zu viel arbeit, wenn es nicht unbedingt nötig ist
2. serverbelastend (kann bei entsprtechender hardware mglw. vernachlässigt werden)
3. kann umgangen werden, indem der benutzer die id eines links einfach austauscht (dagegen kannst du wohl wenig tun)

undefined
12-05-2004, 21:48
Ich schliesse mich da mehlvogel voll und ganz an. Man sollte nicht darauf vertrauen und erst garnicht in erwähgung ziehen solche dinge auf Client Seite zu steuern.
Die beste lösung ist nach wie vor Session bzw. Session Cookie und output_buffering. Wenn das Forumular gesendet wurde flushen und ab ins Nirvana. Danach kann der client klicken und machen was er will ;)

Torsten.E
13-05-2004, 07:49
Wie ist das genau gemeint ?

Torsten.E

mehlvogel
13-05-2004, 09:17
Klicki Klicki für Hilfe (http://de.php.net/manual/en/ref.outcontrol.php)

Claudine
14-05-2004, 04:49
Original geschrieben von Torsten.E
Wie ist das genau gemeint ?

Torsten.E

Die ganzen Output Funktionen wurden damals in PHP eingebaut, aus der
Not inkompatibler HTTP Header (IE).

Du kannst die Funktionen aber auch dazu benutzen,
Inhalte zwischenzuspeichern, zu verändern, und dann auszugeben.

Beispiel:
http://www.michael-berndt.de/ie/phpinfo/phpinfo.php
http://www.michael-berndt.de/ie/phpinfo/colour.php