tlk@tigerdyr.lyngbol.dk (Thomas L. Kjeldsen) writes:
> Sessionsvariable er ikke anderledes end almindelige variable når det
> drejer sig om at tilgå dem fra en funktion. Jeg foreslår du laver et
> 'container-objekt' og gemmer det i sessionen, istedet for at gemme x
> antal variable i sessionen. Så skal man blot manipulere objektets
> variable og ikke tænke mere over session_register() osv.
Det stod faktisk også i manualen at variablen skal være global, jeg
havde bare overset det.
Men der er en anden underlighed, nemlig at manuale foreskriver at
følgende er den rigtige måde at håndtere sessions variable på
session_register("count");
$HTTP_SESSION_VARS["count"]++;
altså at man skal bruge HTTP_SESSION_VARS som container variabel, hvis
jeg forsøge at gøre som manualen foreskriver kan jeg godt tilgå
variabelen
$HTTP_SESSION_VARS["count"]
og se hvad der står i count, men jeg kan ikke manipulere den ved
f.eks. at sige
$HTTP_SESSION_VARS["count"]=23
der skal jeg bruge
count=23
jeg tror problemet findes hvis man både har
track_vars og register_globals sat til true.
manualen foreskriver godt nok
\quote
If both track_vars and register_globals are enabled, then the globals
variables and the $HTTP_SESSION_VARS
entries will reference the same value.
\end quote
men det ser ikke ud til at virke helt efter hensigten, er der nogen
som ved om dette er et kendt problem, for jeg syntes at det er smart
at bruge $HTTP_SESSION_VARS som container i stedet for at opfinde sin
eget.
Bo
--
------------------------------------------------
Bo Jakobsen, Linux administrator, Imfufa, RUC
e.mail boj@ruc.dk
Hjemmeside (NYT Indhold)
http://dirac.ruc.dk/~boj
ICQ 36930610