Why are session variables not working for me??
am 19.12.2007 12:06:14 von bizt
Hi,
I am trying to register session variables in the following way:
$_SESSION['myname'] = 'Burnsy';
When i set them and then output the following on the same script:
echo $_SESSION['myname']
... it works, but when I navigate to a different page from the one that
sets the variables it doesnt remember them and I get an error message:
Notice: Undefined index: myname in C:\webserver\Apache2\htdocs\admin
\includes\include.AuthProcess.php on line 20
I have DEFINETELY remembered to use session_start() at the very start
of my scripts. I am setting the variables inside a class but Im
echo'ing then from the running script .. should this matter? Do I need
to do anything in php.ini or something like that? Is it maybe using
cookies for sessions? If so, I dont know a great deal about this ..
please briefly explian what I should do. Any help would be much
appreciated. Thanks
Burnsy
Re: Why are session variables not working for me??
am 19.12.2007 13:54:52 von luiheidsgoeroe
On Wed, 19 Dec 2007 12:06:14 +0100, bizt wrote:
> Hi,
>
> I am trying to register session variables in the following way:
>
> $_SESSION['myname'] =3D 'Burnsy';
>
> When i set them and then output the following on the same script:
>
> echo $_SESSION['myname']
>
> .. it works, but when I navigate to a different page from the one that=
> sets the variables it doesnt remember them and I get an error message:=
>
> Notice: Undefined index: myname in C:\webserver\Apache2\htdocs\admin
> \includes\include.AuthProcess.php on line 20
>
> I have DEFINETELY remembered to use session_start() at the very start
> of my scripts.
Of all scripts using a sessions offcourse, not just the one setting the =
=
variables.
> I am setting the variables inside a class but Im
> echo'ing then from the running script .. should this matter?
Nope, $_SESSION is a superglobal, so that should work
> Do I need
> to do anything in php.ini or something like that? Is it maybe using
> cookies for sessions?
By default, yes. With a transparent session id it can also be propagated=
=
as a POST or GET value (see the manual: =
> If so, I dont know a great deal about this ..
> please briefly explian what I should do. Any help would be much
> appreciated.
First check wether or not your session is actually carrier over. echo =
session_id(), and check wether it remains the same. If it isn't, your =
browser probably ignores the cookie. If it is, something is overwriting =
=
your session. If you use the default session handler (files), check wher=
e =
these files are stored (session.save_path), and wether the session files=
=
are created/filled.
In rare cases (concurrent requests/long processing time) it can be =
advisable to do all your session work early on and call =
session_write_close(). Normally there is no need though.
-- =
Rik Wasmus