A heads-up to those who are moving old code with register_globals "on" to a
server with a newer PHP version and register_globals still "on":

In the old days, the rule was simple. For a session variable, whatever value
was in the global variable at the end of the script was what was saved to
the session, and that value was restored on the next page.

Under a newer version of PHP, e.g., 4.3.2, this is no longer true in one
case. Assume we have a session variable, 'a', that has been assigned some
value:

$a = 'someValue';
session_register('a');
 
Then 

unset($a);

will unset the global variable, $a, but NOT the corresponding element in the
two session arrays, $HTTP_SESSION_VARS and $_SESSION.

The result is that ** $a will be restored with its original value ** on the
next page, which is definitely different behavior than that for the same
code under older versions of PHP.

Or did I screw up my tests somehow? ;)

Kirk

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to