Thread: Strange problem with session and header("Location:script.php?".SID)

Strange problem with session and header("Location:script.php?".SID)

From
Andrei Verovski (aka MacGuru)
Date:
Hi,

I have very strange problem with sessions (it is not directly related
to postgres, although I am using pgsql in my app).

There is a class MyApp which does certain jobs, and instance of this
class (not shown here). In function OpenMainPage() I have started
session, assigned name to it and registered certain variables.
file: MyApp.php

class MyApp {

    // --- MORE STUFF HERE

     function OpenMainPage()
     {
         $res = $this -> mDb -> Execute('SELECT * FROM contacts');
         if ($res -> RecordCount() == 0)
             $this -> SetupDefaultDBRecords();

         session_start();
         session_name('MyApplicationSession');

         $aaa = "blah blah blah";
         if (! session_register("aaa"))
             echo "failed to register variable";

         header("Location:StartupPage.php?".SID);
    }
}

----------------------------------------------

Then I would like to pass the control to script called StartupPage.php
using header("Location:StartupPage.php?".SID).

file StartupPage.php

//include_once('anvgwg_session_start.php');
session_start();

echo session_name();  // prints PHPSESSION or something like this

echo $_SESSION["aaa"]; // prints nothing

----------------------------------------------

However, session seem to be terminated, although I have used SID. I
have tried to move         session_start();
session_name('MyApplicationSession') to the first script where the
instance of MyApp class have been created and used, but the result is
the same. I have checked PHP options (default install of PHP 4.2.3 and
Apache2 on SuSE Linux 8.2), enable-trans-sid and track-vars options are
on, so it should work. Quite strange, but {echo SID} prints nothing,
although { echo session_ID() } prints long cryptic string. I have some
other PHP programs installed on my server, but they working without
problem header("Location:script.php?".SID) without cookies (my app
should work without cookies enabled in browser).

Anyone have an idea what is wrong?

Thanks in advance for any suggestion.


*********************************************
*   Best Regards   ---   Andrei Verovski
*
*   Personal Home Page
*   http://snow.prohosting.com/guru4mac
*   Mac, Linux, DTP, Development, IT WEB Site
*********************************************


Re: Strange problem with session and header("Location:script.php?".SID)

From
"Victor Yegorov"
Date:
* Andrei Verovski <andreil1@mail.starlett.lv> [06.05.2003 12:06]:
> Hi,
>
> I have very strange problem with sessions (it is not directly related
> to postgres, although I am using pgsql in my app).

It's still off-topic.

>         header("Location:StartupPage.php?".SID);

I think in PHP you should use $SID, not just SID.
In your case SID is changed to string "SID" (default behaviour, may differs
in different versions of PHP). In such cases  PHP generates warnings.

May be should change error reporting level during debug stage:

error_reporting(E_ALL);

Hope that helps.

--

Victor Yegorov

Attachment