Problem with SESSION variables... | | |
Hi. Im very new to php, and I have a problem here that I cant find the
solution for. I have problems with session variables, I want some
variables to maintain their value between different php script that is
being called. I have read the online manual, and here is an example from
it that doesnt work for me, it illustrates very well my problem.
File 1, index.php
<?php
// index.php
session_start();
echo '<br />Welcome to page #1';
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';
// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>
File 2, page2.php
<?php
// page2.php
session_start();
echo '<br />Welcome to page #2<br />';
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
// You may want to use SID here, like we did in page1.php
echo '<br /><a href="index.php">page 1</a>';
?>
I get no output, except the date which shows 1970 bla bla
I have apache 2.0.48, PHP 4.3.3 running on a Redhat 9.0 box. I have not
touched the register_globals in php.ini, it's Off. What can be the problem
here ? Any help would be much appreciated, I'm stuck....
Thanx
/ZoombyWoof | | | | re: Problem with SESSION variables...
ZoombyWoof wrote:
[...][color=blue]
> I get no output, except the date which shows 1970 bla bla
>
> I have apache 2.0.48, PHP 4.3.3 running on a Redhat 9.0 box. I have not
> touched the register_globals in php.ini, it's Off. What can be the problem
> here ? Any help would be much appreciated, I'm stuck....[/color]
What do you have for "session.save_path" in php.ini?
Does the webserver have write-access to that directory?
--
I have a spam filter working.
To mail me include "urkxvq" (with or without the quotes)
in the subject line, or your mail will be ruthlessly discarded. | | | | re: Problem with SESSION variables...
On Tue, 04 Nov 2003 15:32:14 +0000, Pedro wrote:
[color=blue]
> ZoombyWoof wrote:
> [...][color=green]
>> I get no output, except the date which shows 1970 bla bla
>>
>> I have apache 2.0.48, PHP 4.3.3 running on a Redhat 9.0 box. I have not
>> touched the register_globals in php.ini, it's Off. What can be the problem
>> here ? Any help would be much appreciated, I'm stuck....[/color]
>
> What do you have for "session.save_path" in php.ini?
> Does the webserver have write- permissions are[/color]
rwxrwxrwxt owned by root, so that shouldnt be a problem, or ?
/ZW | | | | re: Problem with SESSION variables...
ZoombyWoof <zoombywoofremove@thishotmail.com> wrote:
[color=blue]
> Hi. Im very new to php, and I have a problem here that I cant find the
> solution for. I have problems with session variables, I want some
> variables to maintain their value between different php script that is
> being called. I have read the online manual, and here is an example from
> it that doesnt work for me, it illustrates very well my problem.
>
> // Or maybe pass along the session id, if needed
> echo '<br /><a href="page2.php?' . SID . '">page 2</a>';[/color]
The above will only work if you set session.use_trans_sid in php.ini to 1.
Furthermore cookies must be accepted by your browser in order to work.
Alternatively you could use:
echo '<br /><a href="page2.php?'.session_name().'='.session_id(). '">page
2</a>';
Check the session cookie on page 2 with session_get_cookie_params() .. if
that's empty, the cookie hasn't been set. http://uk.php.net/manual/en/function...kie-params.php
HTH;
JOn
--
Begathon, n.:
A multi-day event on public television, used to raise money so
you won't have to watch commercials. | | | | re: Problem with SESSION variables...
On Tue, 04 Nov 2003 15:35:08 +0000, Jon Kraft wrote:
[color=blue]
> ZoombyWoof <zoombywoofremove@thishotmail.com> wrote:
>[color=green]
>> Hi. Im very new to php, and I have a problem here that I cant find the
>> solution for. I have problems with session variables, I want some
>> variables to maintain their value between different php script that is
>> being called. I have read the online manual, and here is an example from
>> it that doesnt work for me, it illustrates very well my problem.
>>
>> // Or maybe pass along the session id, if needed
>> echo '<br /><a href="page2.php?' . SID . '">page 2</a>';[/color]
>
> The above will only work if you set session.use_trans_sid in php.ini to 1.
> Furthermore cookies must be accepted by your browser in order to work.
>
> Alternatively you could use:
>
> echo '<br /><a href="page2.php?'.session_name().'='.session_id(). '">page
> 2</a>';
>
> Check the session cookie on page 2 with session_get_cookie_params() .. if
> that's empty, the cookie hasn't been set.
>
> http://uk.php.net/manual/en/function...kie-params.php
>
> HTH;
> JOn[/color]
I have tried all of what you suggested above, setting use_trans_sid to 1
didnt help. I used the link with session_name=session_id, didnt help. I
have changed session.save_path to /usr/local/apache2/sessions, apache owns
that directory, apache is the user who runs the server, but nothing goes
in that directory. I have checked the cookie_params, and it doesnt contain
anything else from what is set as default in php.ini.
I dont understand this....*HELP* :-)
Thanx
/ZW | | | | re: Problem with SESSION variables...
ZoombyWoof <zoombywoofremove@thishotmail.com> wrote:
[color=blue]
> I have tried all of what you suggested above, setting use_trans_sid to 1
> didnt help. I used the link with session_name=session_id, didnt help. I
> have changed session.save_path to /usr/local/apache2/sessions, apache owns
> that directory, apache is the user who runs the server, but nothing goes
> in that directory. I have checked the cookie_params, and it doesnt contain
> anything else from what is set as default in php.ini.
> I dont understand this....*HELP* :-)[/color]
Hm, strange, are you sure you are editing the php.ini PHP uses? Check with
phpinfo(). That will also tell you whether PHP was compiled with
--disable-session.
JOn
--
He only knew his iron spine held up the sky -- he didn't realize his brain
had fallen to the ground.
-- The Book of Serenity | | | | re: Problem with SESSION variables...
On Tue, 04 Nov 2003 18:15:12 +0000, Jon Kraft wrote:
[color=blue]
> ZoombyWoof <zoombywoofremove@thishotmail.com> wrote:
>[color=green]
>> I have tried all of what you suggested above, setting use_trans_sid to 1
>> didnt help. I used the link with session_name=session_id, didnt help. I
>> have changed session.save_path to /usr/local/apache2/sessions, apache owns
>> that directory, apache is the user who runs the server, but nothing goes
>> in that directory. I have checked the cookie_params, and it doesnt contain
>> anything else from what is set as default in php.ini.
>> I dont understand this....*HELP* :-)[/color]
>
> Hm, strange, are you sure you are editing the php.ini PHP uses? Check with
> phpinfo(). That will also tell you whether PHP was compiled with
> --disable-session.
>
> JOn[/color]
Yes, I'm editing the one PHP is using, it's /etc/php.ini, however, if you
mean that it should say --disable-session under configure command at the
top, it doesnt. Do I have to have disable-session compiled in ? Why is
this not the default, if it's necessary to get session to work...?
Thanx
/ZW | | | | re: Problem with SESSION variables...
ZoombyWoof wrote:
[color=blue]
> On Tue, 04 Nov 2003 15:35:08 +0000, Jon Kraft wrote:
>
>[color=green]
>>ZoombyWoof <zoombywoofremove@thishotmail.com> wrote:
>>
>>[color=darkred]
>>>Hi. Im very new to php, and I have a problem here that I cant find the
>>>solution for. I have problems with session variables, I want some
>>>variables to maintain their value between different php script that is
>>>being called. I have read the online manual, and here is an example from
>>>it that doesnt work for me, it illustrates very well my problem.
>>>
>>>// Or maybe pass along the session id, if needed
>>>echo '<br /><a href="page2.php?' . SID . '">page 2</a>';[/color]
>>
>>The above will only work if you set session.use_trans_sid in php.ini to 1.
>>Furthermore cookies must be accepted by your browser in order to work.
>>
>>Alternatively you could use:
>>
>>echo '<br /><a href="page2.php?'.session_name().'='.session_id(). '">page
>>2</a>';
>>
>>Check the session cookie on page 2 with session_get_cookie_params() .. if
>>that's empty, the cookie hasn't been set.
>>
>> http://uk.php.net/manual/en/function...kie-params.php
>>
>>HTH;
>>JOn[/color]
>
> I have tried all of what you suggested above, setting use_trans_sid to 1
> didnt help.[/color]
Did you restart the webserver after editing php.ini? That's a commonly
overlooked step...
[color=blue]
> I used the link with session_name=session_id, didnt help. I
> have changed session.save_path to /usr/local/apache2/sessions, apache owns
> that directory, apache is the user who runs the server, but nothing goes
> in that directory. I have checked the cookie_params, and it doesnt contain
> anything else from what is set as default in php.ini.[/color]
Be sure that session.auto_start is off.
session.save_handler needs to be set to files for session.save_path to
be used.
session.use_cookies should be on if you want to use cookies. If you want
to use *only* cookies, then session.use_only_cookies should be on as well.
Make sure that session.gc_maxlifetime isn't set really low (default is
1440 seconds, or 24 minutes). Same with session.cookie_lifetime, but 0
is no exipre in this case. (Watch for session.cache_expire as well.)
--
Justin Koivisto - spam@koivi.com
PHP POSTERS: Please use comp.lang.php for PHP related questions,
alt.php* groups are not recommended. | | | | re: Problem with SESSION variables...
ZoombyWoof wrote:
[color=blue]
> On Tue, 04 Nov 2003 18:15:12 +0000, Jon Kraft wrote:
>[color=green]
>>ZoombyWoof <zoombywoofremove@thishotmail.com> wrote:
>>[color=darkred]
>>>I have tried all of what you suggested above, setting use_trans_sid to 1
>>>didnt help. I used the link with session_name=session_id, didnt help. I
>>>have changed session.save_path to /usr/local/apache2/sessions, apache owns
>>>that directory, apache is the user who runs the server, but nothing goes
>>>in that directory. I have checked the cookie_params, and it doesnt contain
>>>anything else from what is set as default in php.ini.
>>>I dont understand this....*HELP* :-)[/color]
>>
>>Hm, strange, are you sure you are editing the php.ini PHP uses? Check with
>>phpinfo(). That will also tell you whether PHP was compiled with
>>--disable-session.[/color]
>
> Yes, I'm editing the one PHP is using, it's /etc/php.ini, however, if you
> mean that it should say --disable-session under configure command at the
> top, it doesnt. Do I have to have disable-session compiled in ? Why is
> this not the default, if it's necessary to get session to work...?[/color]
If id did say --disable-session, then sessions would be disabled and not
available on the server.
Check the under phpinfo() for "Configuration File (php.ini) Path" and be
sure that it is set to /etc/php.ini, otherwise all your edits will do
nothing. Also be sure to restart apache after editing.
--
Justin Koivisto - spam@koivi.com
PHP POSTERS: Please use comp.lang.php for PHP related questions,
alt.php* groups are not recommended. | | | | re: Problem with SESSION variables...
On Tue, 04 Nov 2003 18:27:23 +0000, Justin Koivisto wrote:
[color=blue]
> ZoombyWoof wrote:
>[/color]
*snip*
[color=blue]
>
> Did you restart the webserver after editing php.ini? That's a commonly
> overlooked step...[/color]
Oh yes I did.[color=blue]
>[/color]
*snip*[color=blue]
>
> Be sure that session.auto_start is off.[/color]
It is[color=blue]
>
> session.save_handler needs to be set to files for session.save_path to
> be used.[/color]
It is[color=blue]
>
> session.use_cookies should be on if you want to use cookies. If you want
> to use *only* cookies, then session.use_only_cookies should be on as well.[/color]
Cookies is on[color=blue]
>
> Make sure that session.gc_maxlifetime isn't set really low (default is
> 1440 seconds, or 24 minutes). Same with session.cookie_lifetime, but 0
> is no exipre in this case. (Watch for session.cache_expire as well.)[/color]
Default values
/ZW | | | | re: Problem with SESSION variables...
On Tue, 04 Nov 2003 18:29:44 +0000, Justin Koivisto wrote:
[color=blue]
> ZoombyWoof wrote:
>[color=green]
>> On Tue, 04 Nov 2003 18:15:12 +0000, Jon Kraft wrote:
>>[color=darkred]
>>>ZoombyWoof <zoombywoofremove@thishotmail.com> wrote:
>>>
>>>>I have tried all of what you suggested above, setting use_trans_sid to 1
>>>>didnt help. I used the link with session_name=session_id, didnt help. I
>>>>have changed session.save_path to /usr/local/apache2/sessions, apache owns
>>>>that directory, apache is the user who runs the server, but nothing goes
>>>>in that directory. I have checked the cookie_params, and it doesnt contain
>>>>anything else from what is set as default in php.ini.
>>>>I dont understand this....*HELP* :-)
>>>
>>>Hm, strange, are you sure you are editing the php.ini PHP uses? Check with
>>>phpinfo(). That will also tell you whether PHP was compiled with
>>>--disable-session.[/color]
>>
>> Yes, I'm editing the one PHP is using, it's /etc/php.ini, however, if you
>> mean that it should say --disable-session under configure command at the
>> top, it doesnt. Do I have to have disable-session compiled in ? Why is
>> this not the default, if it's necessary to get session to work...?[/color]
>
> If id did say --disable-session, then sessions would be disabled and not
> available on the server.
>
> Check the under phpinfo() for "Configuration File (php.ini) Path" and be
> sure that it is set to /etc/php.ini, otherwise all your edits will do
> nothing. Also be sure to restart apache after editing.[/color]
It did not say --disable_session and I edit the right file.
THis is really weird...
/ZW | | | | re: Problem with SESSION variables...
At this point, I say post a link to a phpinfo() call so we can better
see what is going on.
--
Justin Koivisto - spam@koivi.com
PHP POSTERS: Please use comp.lang.php for PHP related questions,
alt.php* groups are not recommended. | | | | re: Problem with SESSION variables...
On Tue, 04 Nov 2003 19:39:25 +0000, Justin Koivisto wrote:
[color=blue]
> At this point, I say post a link to a phpinfo() call so we can better
> see what is going on.[/color]
THis wull be opened a couple of hours, then I close it again. http://zoombywoof.dns2go.com:8029/phpinfo.php
Thanx
/ZW | | | | re: Problem with SESSION variables...
ZoombyWoof wrote:[color=blue]
> THis wull be opened a couple of hours, then I close it again.
>
> http://zoombywoof.dns2go.com:8029/phpinfo.php[/color]
session_cookie_path = /
--
I have a spam filter working.
To mail me include "urkxvq" (with or without the quotes)
in the subject line, or your mail will be ruthlessly discarded. | | | | re: Problem with SESSION variables...
I wrote, way too fast:[color=blue]
> session_cookie_path = /[/color]
session.cookie_path = /
session.save_path is local to the webserver filesystem.
session.cookie_path is the HTTP path sent to the client in the cookie.
--
I have a spam filter working.
To mail me include "urkxvq" (with or without the quotes)
in the subject line, or your mail will be ruthlessly discarded. | | | | re: Problem with SESSION variables...
On Tue, 04 Nov 2003 20:18:12 +0000, Pedro wrote:
[color=blue]
> I wrote, way too fast:[color=green]
>> session_cookie_path = /[/color]
> session.cookie_path = /
>
>
> session.save_path is local to the webserver filesystem.
>
> session.cookie_path is the HTTP path sent to the client in the cookie.[/color]
I had it set to /, I just tried and changed, it didnt do any difference.
I'll change it back.
/ZW | | | | re: Problem with SESSION variables...
ZoombyWoof wrote:[color=blue]
> I'll change it back.[/color]
Is it working now?
I just noticed -- at the locally cached phpinfo -- you did not have
session.save_handler = files
Maybe you have already changed that too :)
--
I have a spam filter working.
To mail me include "urkxvq" (with or without the quotes)
in the subject line, or your mail will be ruthlessly discarded. | | | | re: Problem with SESSION variables...
On Tue, 04 Nov 2003 22:54:58 +0000, Pedro wrote:
[color=blue]
> ZoombyWoof wrote:[color=green]
>> I'll change it back.[/color]
>
> Is it working now?
>
> I just noticed -- at the locally cached phpinfo -- you did not have
>
> session.save_handler = files
>
> Maybe you have already changed that too :)[/color]
:-)))))) Its working now! You were right, I had session.save_handler =
file instead of session.save_handler = files (pluralis)
The script works, the variables are echoed correctly in page2.php But, I
get this warning :
Warning: session_start(): Cannot send session cookie - headers already
sent by (output started at /usr/local/apache2/htdocs/phptest/page2.php:4)
in /usr/local/apache2/htdocs/phptest/page2.php on line 7
Warning: session_start(): Cannot send session cache limiter - headers
already sent (output started at
/usr/local/apache2/htdocs/phptest/page2.php:4) in
/usr/local/apache2/htdocs/phptest/page2.php on line 7
What does this mean ?
Thanx for the help.
/ZW | | | | re: Problem with SESSION variables...
On Wed, 05 Nov 2003 00:05:42 +0100, ZoombyWoof wrote:
[color=blue]
> On Tue, 04 Nov 2003 22:54:58 +0000, Pedro wrote:
>[color=green]
>> ZoombyWoof wrote:[color=darkred]
>>> I'll change it back.[/color]
>>
>> Is it working now?
>>
>> I just noticed -- at the locally cached phpinfo -- you did not have
>>
>> session.save_handler = files
>>
>> Maybe you have already changed that too :)[/color]
>
> :-)))))) Its working now! You were right, I had session.save_handler =
> file instead of session.save_handler = files (pluralis)
>
> The script works, the variables are echoed correctly in page2.php But, I
> get this warning :
>
> Warning: session_start(): Cannot send session cookie - headers already
> sent by (output started at /usr/local/apache2/htdocs/phptest/page2.php:4)
> in /usr/local/apache2/htdocs/phptest/page2.php on line 7
>
> Warning: session_start(): Cannot send session cache limiter - headers
> already sent (output started at
> /usr/local/apache2/htdocs/phptest/page2.php:4) in
> /usr/local/apache2/htdocs/phptest/page2.php on line 7
>
> What does this mean ?
>
> Thanx for the help.
>
> /ZW[/color]
I solved it. I had an echo line before session_start, which according to
the php manual is Not allowed. Not everything is HunkyDory :-))
Thanx again everyone that answered me and tried to help me.
/ZoombyWoof |  | | | | /bytes/about
We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights.
Get the best answers to your questions from over 226,295 network members.
|