QUOTE (Jürgen Auer @ Do 16.07.2009, 18:55)
QUOTE (G.P. @ Do 16.07.2009, 17:43)
CODE setcookie('name','content',time()+6000,'/','.xyz.de');
Ich rate mal (nutze ja sonst kein PHP):
- Der time() + 6000 wird irgendwie falsch. Setze dort mal 0 oder eine große Integer-Zahl rein.
- Lass den ersten Punkt bei .xyz.de weg. In .NET braucht man das nicht.
- Du setzt das Cookie zu spät. Es darf noch keinen Output geben, auch keinen WhiteSpace.
CODE
$ts =time();
$tsloglife=$ts+(60*60*24*80);
setcookie( "nick", $nick , $tsloglife, "/", ".$REQUEST_HOST" );
$tsloglife = angabe bis wann (UnixTimestamp) der Cookie gilt, quasie ein "Keks-Mindesthaltbarkeitsdatum"
time()+6000 ist also OK
Der Punk vor dem "Domain" ist auch richtig
Punkt 3 ... Du setzt das Cookie zu spät.
Ich denke, Er liest ihn zu früh ....
... jetzt Cookie setzen und gleich $_COOKIE auslesen, das geht nicht ...
... $COOKIE ist erst einen Pageview später da
setcookie sendet den Keks zum Host
$_COOKIE liefert das zurück .... beim nächsten PageView
//EDIT
Ein Zeitstempel <= "Jetzt" macht den Cookie ungültig
also, eine "0" reinschreiben, löscht den Cookie
mal ganz blöd gefragt ... deine Uhr auf deinem Rechner geht richtig ...
6000 Sekunden = 10 Stunden ... geht deine Uhr 10 Stunden ... ähm, Vor oder nach, dann ... ist er schon schlecht wenn er zurückkommt (sagt dann dein Browser)