diff --git a/functions/session.xml b/functions/session.xml index 1ba52f636d..ec081e52b7 100644 --- a/functions/session.xml +++ b/functions/session.xml @@ -35,15 +35,49 @@ by the session module unless the user defines them later. - track_vars and gpc_globals - configuration settings influence how the session variables get - restored. If track_vars is enabled, then the - restored session variables will be available in the global - associative array $HTTP_STATE_VARS. If - gpc_globals is enabled, then the session - variables will be restored to corresponding global variables. If - both of these settings are enabled, then the globals variables and - the $HTTP_STATE_VARS entries will reference the same value. + track_vars and register_globals + configuration settings influence how the session variables get stored + and restored. + + + If track_vars is enabled and + register_globals is disabled, only members of the + global associative array $HTTP_SESSION_VARS can be registered as + session variables. The restored session variables will only be + available in the array $HTTP_SESSION_VARS. + + + Registering a variable with <literal>track_vars</literal> enabled + + +<?php +session_register("count"); +$HTTP_SESSION_VARS["count"]++; +?> + + + + + If register_globals is enabled, then all global + variables can be registered as session variables and the session + variables will be restored to corresponding global variables. + + + Registering a variable with <literal>register_globals</literal> enabled + + +<?php +session_register("count"); +$count++; +?> + + + + + If both track_vars and + register_globals are enabled, then the globals + variables and the $HTTP_SESSION_VARS entries will reference the same + value. There are two methods to propagate a session id: