reloads verhindern
Hallo zusammen
Ich habe eine Frage zum Thema Cookie. Ich möchte ein Cookie erzeugen. In das Cookie will ich eine Zufallszahl speichen. Diese Zufallszahl möchte ich dann im Formular mit hidden an die nächste Seite weitergeben. Im nächste Formular will ich den Wert der Hidden-Variable mit der Cookie-Variable vergleichen. Wenn Sie übereinstimmen, soll das Spiel von vorne beginnen. ( Neue Zufallszahl ins Cookie .............) Ich möchte sozusagen ein reload verhindern. Dazu habe ich das Script geschieben. Dabei ist mir etwas aufgefallen, was ich nicht verstehe. Wenn ich ein Cookie erzeuge und dann direkt im Anschluß die Cookie-Variable anzeigen lassen möchte geht das nicht. Die Variable gibt es noch nicht. Lasse ich die Seite aktualisieren wird die Zufallszahl die im Cookie stand angezeigt. Allerdings die Zufallszahl die ich beim ersten mal erzeugt habe. Da das Script ja erneut aufgerufen wurde, wurde das Cookie ja überschrieben. Im Script unten lasse ich mir (nach dem erzeugen des Cookie) die Cookie-Variable ud die Zufallszahl ausgeben. Beide sollten doch gleich sein. Hat jemand Ahnung warum ????? <?php srand((double)microtime()*1000000); $id= rand(); setcookie("loggen",$id,time()+600); echo "Cookieinhalt:".$_COOKIE['loggen']; echo "<br>"; echo "Zufallszahl:".$id; ?> |
Hi,
habe ich auch festgestellt. Ich kann mir das nur so erklären dass das Cookie zwar gesetzt wird, aber erst beim nächsten Aufruf der Seite alle Cookies die zur Domain gehören ausgelesen werden. mfg - Taube |
Hi Taube
Hast du eine Lösung für das Problem gefunden ????? Ich wollte es statt mit einem Cookie mal mit der Session_ID versuchen. Gruss Wuerzie |
Wieso ist es für Dich ein Problem wenn das Cookie erst beim nächsten Seitenaufruf ausgelesen wird? Was bringen Dir die Werte des Cookies wenn Du sie noch in den Variablen des Skripts stehen hast?
Ich arbeite im Moment nur mit Sessions. Wieso soll ein User denn nicht reloaden dürfen und was soll es bewirken? mfg - Taube |
|
*lol* wie kompliziert.
Meine Methode wäre: Der Senden-Button trägt den Namen "Speichern" Code:
if ($Speichern $$ !$doppelt) { mfg - Taube |
Die Variante die in dem Artikel von MiH steht,
ist sehr nett. Das Sinnvolle daran ist, das es universal eingesetzt werden kann, ohne das es jedesmal neugecodet werden muss @Taube Natürlich geht deine Version, auch! |
wenn man die klasse noch ein wenig abändert schreibt man am ende nur noch
Code:
$f->getID(); |
Hallo zusammen
Erst mal vielen Dank für die vielen Antworten. Ich habe aber nicht alles verstanden. Ich habe mich noch nicht mit Klassen beschäftigt. Ich glaube auch, das ich mein Problem mit Reload verhindern falsch beschrieben habe. Ich möchte nicht verhindern, dass man Daten zweimal in eine Datenbank eintragen kann. Ich will verhindern, dass jemand mit dem Zurück-Button auf Seiten gelangt die normal mit einem Passwort geschützt sind. Ich versuche meine Frage dann nochmal genauer zu stellen. Unter: Zurück in den Loginbereich verhindern |
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:48:35 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.