Her er min kode:
* Funktionerne stammer fra samme klasse (CmsUserAccounts).
* Alle funktioner sætter først "global $HTTP_SESSION_VARS;"
* Jeg har php 4.06 (register_globals = off, track_vars = on)
det starter her (første funktion):
function PageLoadsStartSessionCheckInit() {
global $HTTP_SESSION_VARS;
session_start();
if (CmsUserAccounts::HasUserSessionInited() == false) {
// initialize the variables first time session is started
//session_register('SESSION_INITED');
//session_register('user_db_account_id');
$HTTP_SESSION_VARS['SESSION_INITED'] = true;
$HTTP_SESSION_VARS['user_db_account_id'] = -1;
}
}
hvis jeg så prøver at kalde (længere nede i funktionen):
if (CmsUserAccounts::IsUserLoggedIn()) {
//
}
opstår der en fejl i: :IsUserLoggedIn
som ser sådan her ud:
function IsUserLoggedIn() {
global $HTTP_SESSION_VARS;
return ($HTTP_SESSION_VARS['user_db_account_id'] > -1);
}
Alt burde (som jeg ser det :) være fryd og gammen.... Men nej, jeg får fejl:
Warning: Undefined index: user_db_account_id in ... on line ...
Og det fatter jeg ikke...
1 side-spørgsmål:
* Jeg fandt en dag en php indbygget funktion der kunne outputte den rå data
af arrays, men kan ikke huske den (har søgt på php.net + google.com)?
1 side-note:
* Siden her:
http://www.php.net/manual/en/ref.session.php#AEN63965 fortæller
man ikke længere skal bruge "session_register" hvis man bruger
$HTTP_SESSION_VARS.
Håber nogen kan hjælpe
mvh
-Thomas