It not related to database. Anyway,

If you use $HTTP_SESSION_VARS, forget about session_(un)register(). (Do not use
them)
Just use $HTTP_SESSION_VARS. It's known issue.
(If you use global vars, only use global vars and use  session_(un)register())

Regards,
--
Yasuo Ohgaki


""Nicolas Guilhot"" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> I am having problem with PHP4 session variables. I think I misunderstood how
> they work, and I can't see what I'm doing wrong. Any help would be
> appreciated. I am using the version from EasyPhp 1.1.1.
>
> Below is a short example to explain my problem. I've got two php scripts.
> 'test1.php' which start a session, set a variable $sess and register it as a
> session variable. It then redirects to 'test2.php' which only displays
> session variables and switches $sess[var1] between true and false on each
> call.
>
> With the code in example, I retrieve the variable set by 'test1.php' on
> 'test2.php', but $HTTP_SESSION_VARS['sess']['var1'] is always true.
> With the same code, If I set register_globals to off in my php.ini, I get
> the opposite. I never retrieve the variable set by 'test1.php' on
> 'test2.php', but $HTTP_SESSION_VARS['sess']['var1'] is switches correctly.
>
> What is wrong in this code ??
>
> If I replace
>   session_register('sess'); in 'test1.php'
> by
>   $GLOBALS['HTTP_SESSION_VARS']['sess'] = $sess;
> and set register_globals to off everything works. Someone could explain to
> me why ??
>
> Best regards,
>
> Nicolas
>
>
>
> File test1.php
>    <?
>    function initSessionVar()
>    {
>      global $sess;
>      // initialise sess variable for the new session
>      $sess = array();
>      $sess['user'] = "test";
>      $sess['var1'] = true;
>
>      session_register('sess');
>    }
>    session_start();
>    initSessionVar();
>
>    header('Location: http://localhost/test2.php');
>    exit;
>    ?>
>
> File test2.php
>    <?
>    session_start();
>
>    echo gettype($HTTP_SESSION_VARS['sess']) . "<BR>";
>    echo $HTTP_SESSION_VARS['sess']['user'] . "<BR>";
>    echo ($HTTP_SESSION_VARS['sess']['var1'] ? "true" : "false");
>
>    if ($HTTP_SESSION_VARS['sess']['var1']){
>      $HTTP_SESSION_VARS['sess']['var1'] = false;
>    }
>    else{
>      $HTTP_SESSION_VARS['sess']['var1'] = true;
>    }
>    ?>
>
>
> --
> PHP Database 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]
>


-- 
PHP Database 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