> -----Original Message-----
> From: Chung Ha-Nyung [mailto:[EMAIL PROTECTED]]
> 
>  My second example program.
> ---- a.php ----
> <?php
> session_start();
> session_register("name");
> $HTTP_SESSION_VARS["name"] = "test";
> 
> echo session_encode();
> ?>
> ---- a.php ----
>  result is as following.
> ====================
> !name|
> ====================
> 
>  Anybody has some clues about it? why session variables' contents
>  wouldn't stored.

Chung, this is a complicated topic! See
http://www.php.net/manual/cs/ref.session.php, although the documentation
there does not go into much detail.

$HTTP_SESSION_VARS["name"] and $name are not the same variables, *while on
the current page*. To see this, add these lines to your code above just
above the echo session_encode() line:

        $name = "another test";
        echo "name is ".$name."<br>";
        echo "array element name is ".$HTTP_SESSION_VARS["name"]."<br>";

See what session_encode() outputs now?   name|s:7:"another test";

Another way to think of these two variables is
$GLOBALS["HTTP_SESSION_VARS"]["name"] and $GLOBALS["name"]. Now, depending
on if register_globals is enabled or disabled in php.ini, determines what
happens to these two variables when you *redirect to the next page*. I
suggest you write some code that echo's out all elements of $GLOBALS,
including arrays. Then play around with assigning a value to
$HTTP_SESSION_VARS["name"] and leaving $name blank, and vice-versa. See what
happens to their values on the current page and then redirecting to another
page. Repeat with register_globals enabled and then disabled in php.ini. 

So, your original code above assigns the value "test" to an element of the
$HTTP_SESSION_VARS array. In my setup, *with register_globals enabled*,
session_encode() only encodes $GLOBALS["someVariableName"], and not elements
of the array $GLOBALS["HTTP_SESSION_VARS"]. I guess the conclusion is that
$HTTP_SESSION_VARS is not itself a registered variable, although its
elements may be, so that session_encode() doesn't encode it. Clear as mud?
Yeah, to me to...

Good luck!

Kirk

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to