On Wed, 19 Dec 2007 12:06:14 +0100, bizt <bissatch@yahoo.co.ukwrote:
Quote:
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.
Of all scripts using a sessions offcourse, not just the one setting the
variables.
Quote:
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
Quote:
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:
<http://www.php.net/manual/en/ref.session.php>
Quote:
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 where
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