SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 20.08.2003, 12:22:17
wuerzie wuerzie ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: AC
Beiträge: 7
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;

?>
Mit Zitat antworten
  #2  
Alt 20.08.2003, 12:34:38
Taube Taube ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 43
Taube eine Nachricht über ICQ schicken
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
Mit Zitat antworten
  #3  
Alt 20.08.2003, 12:50:07
wuerzie wuerzie ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: AC
Beiträge: 7
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
Mit Zitat antworten
  #4  
Alt 20.08.2003, 13:31:31
Taube Taube ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 43
Taube eine Nachricht über ICQ schicken
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
Mit Zitat antworten
  #5  
Alt 20.08.2003, 14:16:22
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
http://news.rent-a-phpwizard.de/0803/#form
Mit Zitat antworten
  #6  
Alt 20.08.2003, 14:36:41
Taube Taube ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 43
Taube eine Nachricht über ICQ schicken
*lol* wie kompliziert.
Meine Methode wäre:

Der Senden-Button trägt den Namen "Speichern"

Code:
if ($Speichern $$ !$doppelt) { 
alles machen, Werte speichern,...; 
echo "<input type='hidden' name='doppelt' value='1'>"; }
Somit würde bei erneutem Aufrufen der Wert "doppelt" mitgeschickt, das Skript würde beendet, oder? ;-)=

mfg - Taube
Mit Zitat antworten
  #7  
Alt 20.08.2003, 17:04:25
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
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!
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #8  
Alt 21.08.2003, 08:08:19
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
wenn man die klasse noch ein wenig abändert schreibt man am ende nur noch
Code:
$f->getID();
und schon hat man die komplette zeile ;)
Mit Zitat antworten
  #9  
Alt 22.08.2003, 11:35:55
wuerzie wuerzie ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: AC
Beiträge: 7
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
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:34:41 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt