Mailinglisten-Archive |
Hallo Andreas,
[...]
> Wobei ich da noch ein kleines Problem habe: Immer wenn ich per
> ini_alter("session.use_cookies",$SID_COOKIES);
> umschalten will das ich keine Cookies verwenden will (default in php.ini
> sind cookies eingeschaltet) erzeugt php mir bei jedem Seitenaufruf eine
neue
> Session, die gleibt aber bis auf die registrierten Werte leer und es wird
> die alte Session wiederhergestellt weil sonst wären ja alle meine
> Variableninhalte weg. Im einzelnen sieht das so aus:
> <?PHP
> include("$DOCUMENT_ROOT/config.php");
> include("$DOCUMENT_ROOT/utils.php");
> if (isset($SID_NAME)) { ini_alter("session.name",$SID_NAME); }
> if (isset($SID_COOKIES)) {
> ini_alter("session.use_cookies",$SID_COOKIES); }
> session_start();
> session_register("s_user_id");
> session_register("s_admin");
> ...
?>>
> Was mache ich da falsch? Oder ist das ein Bug?
ini_alter(): die Werte die du veränderst, gelten nur solange das
skript ausgeführt wird. Generell cookies on. Auf Seite A wird eine
Session ohne Cookie erzeugt. Du kommst auf Seite B, inzwischen git
aber wieder session.use_cookies und da kein Session-Cookie existiert,
wird eine neue Session gestartet. Obiges vielleicht in auto.prepend
erledigen?
Hoffe das hilft
Gruesse
Friedhelm
P.S.: statt ini_alter() solltest du ini_set() benutzen, da
ini_alter() nur ein alias für ini_set() ist.
php::bar PHP Wiki - Listenarchive