Hilfe bei Cookies!

X

xe0n

Guest
hey, arbeite das erste mal mit cookies! und nun ist hier ein fehler! "es gibt kein cookie!" wieso?

CODE if(isset($_POST["username"]) && !empty($_POST["username"]))
{
setCookie("name",$_POST["username"],time()+2592000);
} else {
echo "Es wurde kein Cookie gesetzt!";
}

if(isset($_COOKIE["name"]))
{
echo "Hallo ".$_COOKIE["name"].", Du siehst, ich habe deinen Namen nicht vergessen!";
} else {
echo "Es gibt kein Cookie!";
}
 
hallo,

dir ist klar, dass cookies erst nach einem reload der seite "erreichbar" sind?
 
QUOTE (Coach @ Sa 20.09.2008, 04:39) hallo,

dir ist klar, dass cookies erst nach einem reload der seite "erreichbar" sind?

Du meinst, erst wenn ich einmal aktualisiert habe?
Also das hab ich schon 10000 mal gemacht und es klappt immernochnicht.
Was meinst du genau damit?
 
Das heißt dass das Cookie nicht beim selben Seitenaufruf im $_COOKIE-Array auftaucht bei dem es angelegt wird, sondern erst beim nächsten Seitenaufruf.

Ansonsten kanns tausend Gründe geben wieso das Cookie nicht auftaucht, z.B.:
- Dein Browser lehnt Cookies ab
- Du sendest Text an den Client vor setcookie(...), dann können die Headers nicht mehr aktualisiert werden.
- Du verwendest '0' als Benutzernamen, das dürfte von setcookie afaik wie false interpretiert werden => cookie wird gelöscht
- Beim setcookie fehlen Pfad- und Domainangaben, vielleicht stört sich dein Script daran. setcookie('name', $_POST['username'], time()+60*60*24*365, '/', '.example.com'); dürfte hier Abhilfe schaffen.

Überprüf auch mal was in $_POST und $_COOKIE ist mit print_r($_POST); bzw. print_r($_COOKIE); . Ein Blick in die Liste der gespeicherten Cookies in deinem Browser kann auch helfen.
 
array(1) {
["PHPSESSID"]=>
string(32) "ce19ba1c9dc79c4db1de6e10c08764a9"
}

array(3) {
["username"]=>
string(21) "xeon@irox-designs.com"
["password"]=>
string(4) "xe0n"
["adminbutton"]=>
string(10) "Einloggen!"
}

Array ( [username] => xeon@irox-designs.com [password] => xe0n [adminbutton] => Einloggen! ) Array ( [PHPSESSID] => ce19ba1c9dc79c4db1de6e10c08764a9 )
 
Was soll ich nun machen, damit ich das machen kann =)
 
Zurück
Oben