On Nov 24, 2008, at 11:01 PM, Michael Southwell wrote:

Tony Furnivall wrote:
Many thanks to [csnyder] and [Tim Lieberman] for their helpful suggestions about header (). I now have that part of things working fine. However, because there is an implicit exit; after issuing the call to header (), I'm uncertain if the $_SESSION variables are being set properly. When I trace them at the end of one page they are all there ($_SESSION['userid'] = $userid; $_SESSION['badgename']= $badgename;), but when I examine the $_SESSION array at the start of the next page, the variables do not exist. My guess is that by short-circuiting any nrmal end-of-script processing, I may be bypassing the write of the $_SESSION array to the temporary file.

They've already been written; what you're doing is losing the identification of the session, so they can't be found. So when you use the header command, you need to carry along the session id as a GET variable, like this:
header( 'Location:somepage.php?PHPSESSID=' . session_id() );

That shouldn't be necessary. I know I saw some problem like that, but the following sort of thing produces expected output for me:

[begin: pageone.php]
<?PHP
session_start();
$_SESSION['foo'] = 'bar';
header("Location: pagetwo.php');

[end: pagetwo.php]
[begin pagetwo.php]
<PHP
session_start();
echo 'Foo: ' . $_SESSION['foo'];

[end: pagetwo.php]

visiting pageone.php results in a redirect to pagetwo.php, which proceeds to output:

Foo: bar


Tony -- is it possible you're not calling session_start() on your destination page?

If you redirect to some static page after setting the session var(s), and look at your cookies, do you have a PHPSESSID session cookie in your browser? (obviously, you'll want to clear any such cookies before testing)

But like I said, the funny thing is that I remember years ago dealing with some issue just like this ... just failing to recall specifics.

I know I do the above sort of thing all the time without incident.

-Tim
_______________________________________________
New York PHP User Group Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

http://www.nyphp.org/show_participation.php

Reply via email to