After talking with some folks on IRC, it sounds like this
is effectively impossible??

I'd just like to check -- is it really impossible in PHP to
copy a variable from one session to another?  I don't mind
subtle trickery.

Thanks,

    - Scott




On Fri, 9 Apr 2004 02:37:05 -0700 (PDT)
"Scott Bronson" <[EMAIL PROTECTED]> wrote:

> My web site currently uses 2 sessions: mine ("SBSESSID") and
> SquirrelMail's ("SQMSESSID").  They work perfectly on their own.  
> However, I would like to allow the user to move from my area to
> SquirrelMail without re-entering a password.  Therefore, I need to copy
> the password from my session to SquirrelMail's.  I've been struggling with
> this for most of the night but this is the closest I've come:
> 
> tst.php:
> 
>     <?php
>     error_reporting(E_NONE);  // suppress spurious cookie errors
>     header("content-type: text/plain");
> 
>     /// set up original session, then close it
>     session_name("SESS1");
>     session_start();
>     print_r(session_name());
>     echo " " . print_r($_SESSION,true) . "\n";
>     session_write_close();
>     session_unset();
> 
>     // print new session, retrieve secret key, then close it.
>     session_name("SESS2");
>     session_start();
>     print_r(session_name());
>     echo " " . print_r($_SESSION,true) . "\n";
>     $secret = $_SESSION['password'];
>     session_write_close();
>     session_unset();
> 
>     // open old session. it should exactly match the original.
>     session_name("SESS1");
>     session_start();
>     print_r(session_name());
>     echo " " . print_r($_SESSION,true) . "\n";
>     ?>
> 
> 
> When I run this after filling in the sessions, I get:
> 
>   SESS1 Array
>   (
>     [squirrel] => mail
>   )
> 
>   SESS2 Array
>   (
>     [squirrel] => mail
>   )
> 
>   SESS1 Array
>   (
>     [squirrel] => mail
>   )
> 
> What's happening?  The second time I call session_start(), instead of
> getting SESS2 like I asked for, I'm just getting SESS1 again.  Even if I
> call error_reporting(E_ALL), I don't get any relevant error messages.  Why
> won't session_start() open the named session?
> 
> When I replace the two calls to session_write_close() with
> session_destroy(), I get this:
> 
> SESS1 Array
> (
>     [squirrel] => mail
> )
> 
> SESS2 Array
> (
>     [password] => whoa
> )
> 
> SESS1 Array
> (
> )
> 
> Which is correct, except that it destroys the sessions!  So close and yet
> so far.
> 
> Does anybody know how I can do this?  I'm stumped.  Thanks!
> 
>     - Scott
> 
> 
> To duplicate exactly what I did here, create 2 more scripts:
> 
> s1.php:
> 
>   <?php
>   session_name("SESS1");
>   session_start();
>   $_SESSION["squirrel"] = "mail";
>   print_r($_SESSION);
>   ?>
> 
> 
> s2.php:
> 
>   <?php
>   session_name("SESS2");
>   session_start();
>   $_SESSION["password"] = "whoa";
>   print_r($_SESSION);
>   ?>
> 
> Now, open s1.php in your web browser.  Then open s2. php.  Finally, open
> tst.php.
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

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

Reply via email to