FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Completely stumped
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Completely stumped (still) [message #185086 is a reply to message #185083] Tue, 25 February 2014 22:30 Go to previous messageGo to previous message
Thomas 'PointedEars'  is currently offline  Thomas 'PointedEars'
Messages: 701
Registered: October 2010
Karma:
Senior Member
Christoph Michael Becker wrote:

> Thomas 'PointedEars' Lahn wrote:
>> Christoph Michael Becker wrote:
>>> Jerry Stuckle wrote:
>>>> On 2/24/2014 6:53 PM, Richard Yates wrote:
>>>> > I inserted var_dump successively at each stage in the script to see
>>>> > where it changes from the (correct) array to a (incorrect) string. I
>>>> > narrowed it down to ONE statement, but cannot see how that could
>>>> > possibly change the variable. Here's the section with var_dump, then
>>>> > the one statement, and then the var_dump repeated exactly.
>>>> >
>>>> > var_dump($_SESSION['to']);
>>>> > $to=$_SESSION['to'][$ct]['email'];
>>>> > var_dump($_SESSION['to']);
>>>> >
>>>> > The output of the two var_dumps is:
>>>> >
>>>> > The first:
>>>> > array(1) { [0]=> array(3)
>>>> > { ["fname"]=> string(4) "Dick"
>>>> > ["lname"]=> string(5) "Yates"
>>>> > ["email"]=> string(23) "dyates(at)salemharvest(dot)org" }
>>>> > }
>>>> >
>>>> > The second:
>>>> > string(23) "dyates(at)salemharvest(dot)org"
>>>> >
>>>> > If I comment out the second line (that sets $to), the second var_dump
>>>> > comes out correct. Am I losing my mind?
>>>>
>>>> The failing server has register_globals enabled.
>>>
>>> I'm still confused that it seems that register_globals makes the
>>> respective global variables *references* to the session variables.
>>
>> Or both of them are references to the same array element. Whatever the
>> implementation, it is the case that they yield the same value then, and
>> it is – if I may say so – a *logical* consequence of how register_globals
>> is supposed to work.
>
> However, GPC parameters are *copied* to the respective global variables.

How did you get that idea?

> Why is it logical to make global variables references to session
> variables (resp. let both reference the same variable/element)?

The (error-prone, unsafe) shortcut that register_globals allowed would have
been inconsistent otherwise.

>> $*_VARS were first.
>
> According to the manual $HTTP_SESSION_VARS and $_SESSION are different
> variables, anyway.[1]
>
> [1] <http://www.php.net/manual/en/reserved.variables.session.php>

$_SESSION is a superglobal; $HTTP_SESSION_VARS is/was not (i.e., it needs to
be declared a global if it is to be accessed from local context). But I am
quite certain that when both were still supported, if you modified one, you
modified the other (I have only PHP 5.5.9 to test with, where there is no
$HTTP_SESSION_VARS anymore).


PointedEars
--
Danny Goodman's books are out of date and teach practices that are
positively harmful for cross-browser scripting.
-- Richard Cornford, cljs, <cife6q$253$1$8300dec7(at)news(dot)demon(dot)co(dot)uk> (2004)
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: JavaScript to PHP
Next Topic: Why is polymorphism in PHP not like other languages? Is there a bug in PHP?
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Sat Nov 30 23:21:38 GMT 2024

Total time taken to generate the page: 0.04241 seconds