Then, when session_register("xxxx");
is called (even on a variable which is going out of scope) what actually happens? Where is the data actually stored? I know it isn't in the file yet (I have session.save_handler = files) because nothing is written to the file until the script exits. So the memory for xxxx should either be in free store or on the stack. And, the second question: how can this memory, and the data it contains, be accessed later in the script (after the session_register) without having to depend on the original variable being global or not? Indeed, it appears that unless the registered variable is global, session_register will not work. (Reference my test script appended below, which can be loaded multiple times with no effect) This is undocumented! Note: I am not complaining about documentation, I am just trying to understand what exactly is happening when you register a session variable. Richard <?php function reg() { $test = 13; session_register("test"); echo "in reg(), test=<$test><br>"; } session_start(); if (!session_is_registered("test")) reg(); echo "HTTP_SESSION_VARS[test] = <".$HTTP_SESSION_VARS["test"]."><br>"; ?> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php