> -----Original Message-----
> From: David Christopher Zentgraf [mailto:[EMAIL PROTECTED] 
> Sent: 31 October 2007 08:04
> To: PHP
> Subject: Re: [PHP] Stopping objects from auto-serializing
> 
> 
> After some more playing around and a lot of print_r($SESSION)'s:
> 
> This specific PHP configuration seems to replace every entry in  
> $_SESSION if a variable with the same name is used in the 
> main script  
> with that variable.
> 
> I.e.
> session_start() // $_SESSION["foo"] is now "bar"
> $foo = "12345";
> $var = "xxxx";
> 
> function test() {
>       $foo = "67890";
> }
> test();
> 
> After execution finished $_SESSION["foo"] is now "12345", but 
> there's  
> no $_SESSION["var"].
> What's going on here?

That's exactly the behaviour caused by register_globals being on --
session_start() takes each $_SESSION["var"] and makes the equivalent
global $var be a reference to it. Other variables only get mirrored in
$_SESSION if you session_register() them.

(track_vars, mentioned previously, is a red herring -- it's been
permanently enabled since 4.0.something.)
Cheers!

Mike
 
------------------------------------------------------------------------
----------------
Mike Ford, Electronic Information Services Adviser,
JG125, The Headingley Library, James Graham Building,
Headingley Campus, Beckett Park, LEEDS, LS6 3QS
United Kingdom
Tel: +44 113 812 4730         Fax: +44 113 812 3211


To view the terms under which this email is distributed, please go to 
http://disclaimer.leedsmet.ac.uk/email.htm

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

Reply via email to