Hallo,
Mein Problem ist, dass das Cookie beim Login erfolgreich gesetzt wird, und der Tabelleneintrag auch richtig geschrieben wird.
Ebenso wird die Expire-Zeit des Cookies bei jeder User-Interaktion hochgesetzt.
Aber wenn ich dann print_r($_COOKIE); schreibe, wird das Cookie nicht mit angezeigt.
ist dir vielleicht nicht bewusst, dass das Cookie ja erst beim nächsten Request wieder beim Server ankommt?
Demnach kann ich natürlich nicht Cookie-abhängig die zusätzlichen Funktionen anzeigen lassen.
Doch, normalerweise schon.
setcookie('tmp_session_id', session_id(), time() + (10 * 60), "/", "sub.domain.de") or $elements[]="Cookie konnte nicht gesetzt werden";
Das setzt noch nicht wirklich ein Cookie; da wird nur der HTTP-Header Set-Cookie "vorgemerkt", der mit dem Dokument an den Client ausgeliefert wird. Erst beim nächsten Request zeigt der Client das Cookie wieder vor.
Unmittelbar nach dem setcookie() musst du dir den Status also entweder anderweitig merken (z.B. den damit korrelierenden Datenbankeintrag sofort vornehmen), oder ein Redirect auslösen und so den Client zu einem erneuten Request "überreden". Letzteres ist weniger schön, weil es unnötig Traffic erzeugt.
Ciao,
Martin
Frage an Radio Eriwan: Kann man eigentlich ein guter Kommunist und gleichzeitig ein guter Christ sein?
Radio Eriwan antwortet: Im Prinzip ja - aber warum sollte man sich das Leben doppelt schwer machen?
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(