Yes, we get this question quite often. The problem here is that there are
many different ways to implement a session tracking system. Some people
use cookies. Others use a GET method argument added to each URL. Still
others use standard HTTP authentication, and you could also use hidden POST
method fields that you pass from page to page.
PHP provides all the tools to do any of these. Up to now we have left the
implementation up to the users.
For version 3.1 we are looking at ways to use shared memory somehow to
make it possible to have persistent variables in PHP, but overtop of that
you still need a session identifier so you know who is allowed to go and
fetch these persistent objects. Exact implementation is still up in the
air.
I think the two common method in use today is the simple cookie
session mechanism. Use the uniqid() PHP function to create a unique
session key and the use PHP's SetCookie() function to send this to the
remote browser. For example:
if(!isset($session)) {
$session = uniqid("sess");
SetCookie("session",$session); /* you may want more options here */
}
Now, the $session variable will be available on every page. You can back this
with a database and store information about each session there.
The alternative is to embed this $session variable in each link. Something
like: <a href="whatever.html?session=<?echo $session?>">Link</a>
Then again, $session will automatically be avilable on each page.