Manually setting session ids
- From: Hugh Oxford <arestes@xxxxxxx>
- Date: Mon, 29 Sep 2008 18:33:09 +0100
I am writing some server to server software that needs to maintain state.
When I say server to server I mean that the client is not a browser, it is another PHP server (as if that wasn't obvious).
The obvious way to do this is to use the session ID. The problem is, how to first of all generate a session ID and then send back a session ID to reload a session.
Perhaps my understanding of sessions is too limited, but I can't see the wood for the trees at the moment. Maybe it's obvious and I can't see it.
This is the server (pseudocode). Forget the transport mechanism, imagine that any function can be called remotely.
<?php
session_start();
function GetSessionID()
{
return session_id();
}
function SetSessionID($session_id)
{
session_id($session_id);
}
function SetVar($var, $val)
{
$_SESSION[$var] = $val;
}
function GetVar($var)
{
return $_SESSION[$var];
}
?>
now, on the client side, the idea is to do something like this
$sid = $client->GetSessionId();
$client->SetSessionId($sid);
$client->SetVar('foo', 'bar');
echo $client->GetVar('foo'); //returns 'bar'
The problem seems to be that session_start on the server side is called at the top of the script, and there is no way to change the session_id midstream.
Even if I could change the session_id, would I get back the data I had already set?
Does anyone have any thoughts. I'm going mad.
.
- Follow-Ups:
- Re: Manually setting session ids
- From: Jerry Stuckle
- Re: Manually setting session ids
- From: C. (http://symcbean.blogspot.com/)
- Re: Manually setting session ids
- From: Gordon Burditt
- Re: Manually setting session ids
- From: Álvaro G. Vicario
- Re: Manually setting session ids
- Prev by Date: Re: include_once() and require_once() in function
- Next by Date: Re: Can't addFile() in SimpleTest Test Suite
- Previous by thread: include_once() and require_once() in function
- Next by thread: Re: Manually setting session ids
- Index(es):
Relevant Pages
|