[PHP] header() and passing sessions

2009-04-15 Thread Adam Williams
I need some help passing a session variable with a header() function.  
According to www.php.net/header, the documentation states:


*Note*: Session ID is not passed with Location header even if 
session.use_trans_sid 
session.configuration.php#ini.session.use-trans-sid is enabled. It 
must by passed manually using *SID* constant.


so, I'm trying to manually pass the SID, but not having any luck.  Here 
is a snippet of my code:


There is a file login.php which has session_start(); and sets 
$_SESSION[username] with the username you logged in with from 
index.php and has a form to click View Pending Requests which has the 
action of option.php.


-- option.php --
?php
session_start();
if ($_POST[option] == View Pending Requests)
   {
   header('Location: 
http://intra.mdah.state.ms.us/helpdesk/viewpending.php?PHPSESSID='.session_id());

   }
?

--viewpending.php --
?php
session_start();
if (!$_SESSION[username])
   {
   echo You have not logged in;
   exit;
   }
?

so you click on View Pending Requests, and the URL in your browser is:

http://intra.mdah.state.ms.us/helpdesk/viewpending.php?PHPSESSID=du75p41hel9k1vpuah799l2ce7

but viewpending.php says You have not logged in.  Why is that?



RE: [PHP] header() and passing sessions

2009-04-15 Thread abdulazeez alugo


 

 Date: Wed, 15 Apr 2009 11:09:19 -0500
 From: awill...@mdah.state.ms.us
 To: php-general@lists.php.net
 Subject: [PHP] header() and passing sessions
 
 I need some help passing a session variable with a header() function. 
 According to www.php.net/header, the documentation states:
 
 *Note*: Session ID is not passed with Location header even if 
 session.use_trans_sid 
 session.configuration.php#ini.session.use-trans-sid is enabled. It 
 must by passed manually using *SID* constant.
 
 so, I'm trying to manually pass the SID, but not having any luck. Here 
 is a snippet of my code:
 
 There is a file login.php which has session_start(); and sets 
 $_SESSION[username] with the username you logged in with from 
 index.php and has a form to click View Pending Requests which has the 
 action of option.php.
 
 -- option.php --
 ?php
 session_start();
 if ($_POST[option] == View Pending Requests)
 {
 header('Location: 
 http://intra.mdah.state.ms.us/helpdesk/viewpending.php?PHPSESSID='.session_id());
 }
 ?
 
 --viewpending.php --
 ?php
 session_start();
 if (!$_SESSION[username])
 {
 echo You have not logged in;
 exit;
 }
 ?
 
 so you click on View Pending Requests, and the URL in your browser is:
 
 http://intra.mdah.state.ms.us/helpdesk/viewpending.php?PHPSESSID=du75p41hel9k1vpuah799l2ce7
 
 but viewpending.php says You have not logged in. Why is that?

 

Hi,

Well I'ld say the reason is quite obvious. You have simply not set 
$_session[username] . I'ld have done something like:

 

-- option.php --
?php
 session_start();
 if ($_POST[option] == View Pending Requests)
{

$_session[username]= true;  //sets the session
 header('Location: 
 http://intra.mdah.state.ms.us/helpdesk/viewpending.php?PHPSESSID='.SID);// 
I'ld use SID
 } 
 ?


 

--viewpending.php -
 ?php
 session_start();
 if ($_SESSION[username] !=true)
 {
 echo You have not logged in;
 exit;
 }
 ?

 

I hope this helps. try it.

Cheers

Alugo Abdulazeez



_
Drag n’ drop—Get easy photo sharing with Windows Live™ Photos.

http://www.microsoft.com/windows/windowslive/products/photos.aspx

Re: [PHP] header() and passing sessions

2009-04-15 Thread Adam Williams

abdulazeez alugo wrote:


Hi,
Well I'ld say the reason is quite obvious. You have simply not set 
$_session[username] . I'ld have done something like:
 
-- option.php --

?php
 session_start();
 if ($_POST[option] == View Pending Requests)
{
$_session[username]= true;  //sets the session
 header('Location: 
http://intra.mdah.state.ms.us/helpdesk/viewpending.php?PHPSESSID='.SID);
// 
http://intra.mdah.state.ms.us/helpdesk/viewpending.php?PHPSESSID=%27.SID%29;%A0%A0%A0+// 
I'ld use SID

 }
 ?

 
--viewpending.php -

 ?php
 session_start();
 if ($_SESSION[username] !=true)
 {
 echo You have not logged in;
 exit;
 }
 ?
 
I hope this helps. try it.

Cheers
Alugo Abdulazeez




Well the thing is, $_SESSION[username] is set.  If I change option.php to:

?php
session_start();
echo session username is .$_SESSION[username];
/*if ($_POST[option] == View Pending Requests)
   {
   header('Location: 
http://intra.mdah.state.ms.us/helpdesk/viewpending.php?PHPSESSID='.session_id());

   }
*/
?

and click on View Pending Requests, it prints:

session username is awilliam