Re: [PHP] Sessions - Ini settings and timeout

2007-10-18 Thread Holografix
Hi.
Thank you very much Casey. I followed this suggestion as Zoltán also 
suggested and it's working nice.

Best regards,
holo

"Casey" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> You could set $_SESSION['lasttime'] to time() and check it on every  page.
>
>
>
> On Oct 17, 2007, at 3:58 AM, "Holografix" <[EMAIL PROTECTED]> wrote:
>
>> I have some questions about sessions timeout and sessions ini  settings.
>>
>> In php.ini I have session.gc_maxlifetime = 30 (for testing purpose  only) 
>> ,
>> session.gc_probability = 1 and session.gc_divisor = 100 (didn't  touch 
>> this
>> values)
>>
>> I have two simple pages
>>
>>
>> page1.php
>> -
>> session_start();
>> $_SESSION["test"] = "TEST";
>> test timeout
>>
>>
>> page2.php
>> =
>> session_start();
>> if (!isset($_SESSION["test"]) ) {
>>echo "no session"; die();
>> }
>> print_r($_SESSION);
>>
>>
>> I open page1.php in the browser and only click in the link after  waiting
>> more than 30 seconds (session.gc_maxlifetime).
>> After this period what should happen with $_SESSION["test"] in 
>> page2.php?
>>
>> In php, session.gc_maxlifetime: ; After this number of seconds,  stored 
>> data
>> will be seen as 'garbage' and
>> ; cleaned up by the garbage collection process.
>>
>> I need to understand this and get a way to automaticly logout a user 
>> after n
>> minutes of inactivity.
>>
>> My environment:
>> Windows XP PRO SP2, apache 2.2.4, php 5.2.4 (apache module),  mysql 
>> 5.4.5
>>
>>
>> Best regards
>> holo
>>
>> -- 
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Sessions - Ini settings and timeout

2007-10-18 Thread Holografix
Many thanks again Zoltán.
It's working nice now.

Best regards
holo


""Zoltán Németh"" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> 2007. 10. 17, szerda keltezéssel 15.10-kor Holografix ezt írta:
>> Many thanks Zoltn.
>>
>> It's clear now
>> One more thing: session.cookie_lifetime defaults to 0 (until browser is
>> closed).
>> if setting session.cookie_lifetime to 60 can I look for
>> $_SESSION[session_name()] in every request ?
>
> why $_SESSION[session_name()]?
> I never bother with session_name and stuff like that, just put whatever
> I want to store in $_SESSION and voila it's there :)
>
> about session.cookie_lifetime: if the cookie expires on the client
> computer, the browser would not send it, so the server side would not
> receive the session ID, so the session data would be lost. that's good
> in some cases, but if you leave cookie_lifetime at its default, cookies
> expire when the browser is closed. that, combined with a lasttime value
> stored in the session, should be enough.
>
> greets
> Zoltán Németh
>
>>
>> best regards
>> holo
>>
>>
>> ""Zoltn Nmeth"" <[EMAIL PROTECTED]> wrote in message
>> news:[EMAIL PROTECTED]
>> > 2007. 10. 17, szerda keltezssel 11.58-kor Holografix ezt rta:
>> >> I have some questions about sessions timeout and sessions ini 
>> >> settings.
>> >>
>> >> In php.ini I have session.gc_maxlifetime = 30 (for testing purpose 
>> >> only)
>> >> ,
>> >> session.gc_probability = 1 and session.gc_divisor = 100 (didn't touch
>> >> this
>> >> values)
>> >>
>> >> I have two simple pages
>> >>
>> >>
>> >> page1.php
>> >> -
>> >> session_start();
>> >> $_SESSION["test"] = "TEST";
>> >> test timeout
>> >>
>> >>
>> >> page2.php
>> >> =
>> >> session_start();
>> >> if (!isset($_SESSION["test"]) ) {
>> >> echo "no session"; die();
>> >> }
>> >> print_r($_SESSION);
>> >>
>> >>
>> >> I open page1.php in the browser and only click in the link after 
>> >> waiting
>> >> more than 30 seconds (session.gc_maxlifetime).
>> >> After this period what should happen with $_SESSION["test"] in 
>> >> page2.php?
>> >>
>> >> In php, session.gc_maxlifetime: ; After this number of seconds, stored
>> >> data
>> >> will be seen as 'garbage' and
>> >> ; cleaned up by the garbage collection process.
>> >>
>> >> I need to understand this and get a way to automaticly logout a user
>> >> after n
>> >> minutes of inactivity.
>> >
>> > session.gc_maxlifetime is not what you are looking for. it works like 
>> > at
>> > every request there is a 1/100 chance
>> > (session.gc_probability/session.gc_divisor) that the garbage collector
>> > will run. if it runs, and finds session data older than
>> > session.gc_maxlifetime, that is cleaned up.
>> >
>> > in order to achieve what you want you should store a 'last action'
>> > timestamp or something like that in the session, and upon each request
>> > check how many seconds passed since that timestamp and decide session
>> > validity based on that. eg:
>> >
>> > session_start();
>> > if ($_SESSION['last_action_timestamp'] - time() > $max_lifetime)
>> > {
>> > // session expired
>> > }
>> > else
>> > {
>> > $_SESSION['last_action_timestamp'] = time();
>> > }
>> >
>> > greets
>> > Zoltn Nmeth
>> >
>> >>
>> >> My environment:
>> >> Windows XP PRO SP2, apache 2.2.4, php 5.2.4 (apache module),  mysql 
>> >> 5.4.5
>> >>
>> >>
>> >> Best regards
>> >> holo
>> >>
>> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Sessions - Ini settings and timeout

2007-10-17 Thread Zoltán Németh
2007. 10. 17, szerda keltezéssel 15.10-kor Holografix ezt írta:
> Many thanks Zoltn.
> 
> It's clear now
> One more thing: session.cookie_lifetime defaults to 0 (until browser is 
> closed).
> if setting session.cookie_lifetime to 60 can I look for 
> $_SESSION[session_name()] in every request ?

why $_SESSION[session_name()]?
I never bother with session_name and stuff like that, just put whatever
I want to store in $_SESSION and voila it's there :)

about session.cookie_lifetime: if the cookie expires on the client
computer, the browser would not send it, so the server side would not
receive the session ID, so the session data would be lost. that's good
in some cases, but if you leave cookie_lifetime at its default, cookies
expire when the browser is closed. that, combined with a lasttime value
stored in the session, should be enough.

greets
Zoltán Németh

> 
> best regards
> holo
> 
> 
> ""Zoltn Nmeth"" <[EMAIL PROTECTED]> wrote in message 
> news:[EMAIL PROTECTED]
> > 2007. 10. 17, szerda keltezssel 11.58-kor Holografix ezt rta:
> >> I have some questions about sessions timeout and sessions ini settings.
> >>
> >> In php.ini I have session.gc_maxlifetime = 30 (for testing purpose only) 
> >> ,
> >> session.gc_probability = 1 and session.gc_divisor = 100 (didn't touch 
> >> this
> >> values)
> >>
> >> I have two simple pages
> >>
> >>
> >> page1.php
> >> -
> >> session_start();
> >> $_SESSION["test"] = "TEST";
> >> test timeout
> >>
> >>
> >> page2.php
> >> =
> >> session_start();
> >> if (!isset($_SESSION["test"]) ) {
> >> echo "no session"; die();
> >> }
> >> print_r($_SESSION);
> >>
> >>
> >> I open page1.php in the browser and only click in the link after waiting
> >> more than 30 seconds (session.gc_maxlifetime).
> >> After this period what should happen with $_SESSION["test"] in page2.php?
> >>
> >> In php, session.gc_maxlifetime: ; After this number of seconds, stored 
> >> data
> >> will be seen as 'garbage' and
> >> ; cleaned up by the garbage collection process.
> >>
> >> I need to understand this and get a way to automaticly logout a user 
> >> after n
> >> minutes of inactivity.
> >
> > session.gc_maxlifetime is not what you are looking for. it works like at
> > every request there is a 1/100 chance
> > (session.gc_probability/session.gc_divisor) that the garbage collector
> > will run. if it runs, and finds session data older than
> > session.gc_maxlifetime, that is cleaned up.
> >
> > in order to achieve what you want you should store a 'last action'
> > timestamp or something like that in the session, and upon each request
> > check how many seconds passed since that timestamp and decide session
> > validity based on that. eg:
> >
> > session_start();
> > if ($_SESSION['last_action_timestamp'] - time() > $max_lifetime)
> > {
> > // session expired
> > }
> > else
> > {
> > $_SESSION['last_action_timestamp'] = time();
> > }
> >
> > greets
> > Zoltn Nmeth
> >
> >>
> >> My environment:
> >> Windows XP PRO SP2, apache 2.2.4, php 5.2.4 (apache module),  mysql 5.4.5
> >>
> >>
> >> Best regards
> >> holo
> >> 
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Sessions - Ini settings and timeout

2007-10-17 Thread Casey
You could set $_SESSION['lasttime'] to time() and check it on every  
page.




On Oct 17, 2007, at 3:58 AM, "Holografix" <[EMAIL PROTECTED]> wrote:

I have some questions about sessions timeout and sessions ini  
settings.


In php.ini I have session.gc_maxlifetime = 30 (for testing purpose  
only) ,
session.gc_probability = 1 and session.gc_divisor = 100 (didn't  
touch this

values)

I have two simple pages


page1.php
-
session_start();
$_SESSION["test"] = "TEST";
test timeout


page2.php
=
session_start();
if (!isset($_SESSION["test"]) ) {
   echo "no session"; die();
}
print_r($_SESSION);


I open page1.php in the browser and only click in the link after  
waiting

more than 30 seconds (session.gc_maxlifetime).
After this period what should happen with $_SESSION["test"] in  
page2.php?


In php, session.gc_maxlifetime: ; After this number of seconds,  
stored data

will be seen as 'garbage' and
; cleaned up by the garbage collection process.

I need to understand this and get a way to automaticly logout a user  
after n

minutes of inactivity.

My environment:
Windows XP PRO SP2, apache 2.2.4, php 5.2.4 (apache module),  mysql  
5.4.5



Best regards
holo

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Sessions - Ini settings and timeout

2007-10-17 Thread Holografix
Many thanks Zoltán.

It's clear now
One more thing: session.cookie_lifetime defaults to 0 (until browser is 
closed).
if setting session.cookie_lifetime to 60 can I look for 
$_SESSION[session_name()] in every request ?

best regards
holo


""Zoltán Németh"" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> 2007. 10. 17, szerda keltezéssel 11.58-kor Holografix ezt írta:
>> I have some questions about sessions timeout and sessions ini settings.
>>
>> In php.ini I have session.gc_maxlifetime = 30 (for testing purpose only) 
>> ,
>> session.gc_probability = 1 and session.gc_divisor = 100 (didn't touch 
>> this
>> values)
>>
>> I have two simple pages
>>
>>
>> page1.php
>> -
>> session_start();
>> $_SESSION["test"] = "TEST";
>> test timeout
>>
>>
>> page2.php
>> =
>> session_start();
>> if (!isset($_SESSION["test"]) ) {
>> echo "no session"; die();
>> }
>> print_r($_SESSION);
>>
>>
>> I open page1.php in the browser and only click in the link after waiting
>> more than 30 seconds (session.gc_maxlifetime).
>> After this period what should happen with $_SESSION["test"] in page2.php?
>>
>> In php, session.gc_maxlifetime: ; After this number of seconds, stored 
>> data
>> will be seen as 'garbage' and
>> ; cleaned up by the garbage collection process.
>>
>> I need to understand this and get a way to automaticly logout a user 
>> after n
>> minutes of inactivity.
>
> session.gc_maxlifetime is not what you are looking for. it works like at
> every request there is a 1/100 chance
> (session.gc_probability/session.gc_divisor) that the garbage collector
> will run. if it runs, and finds session data older than
> session.gc_maxlifetime, that is cleaned up.
>
> in order to achieve what you want you should store a 'last action'
> timestamp or something like that in the session, and upon each request
> check how many seconds passed since that timestamp and decide session
> validity based on that. eg:
>
> session_start();
> if ($_SESSION['last_action_timestamp'] - time() > $max_lifetime)
> {
> // session expired
> }
> else
> {
> $_SESSION['last_action_timestamp'] = time();
> }
>
> greets
> Zoltán Németh
>
>>
>> My environment:
>> Windows XP PRO SP2, apache 2.2.4, php 5.2.4 (apache module),  mysql 5.4.5
>>
>>
>> Best regards
>> holo
>> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Sessions - Ini settings and timeout

2007-10-17 Thread Zoltán Németh
2007. 10. 17, szerda keltezéssel 11.58-kor Holografix ezt írta:
> I have some questions about sessions timeout and sessions ini settings.
> 
> In php.ini I have session.gc_maxlifetime = 30 (for testing purpose only) ,
> session.gc_probability = 1 and session.gc_divisor = 100 (didn't touch this 
> values)
> 
> I have two simple pages
> 
> 
> page1.php
> -
> session_start();
> $_SESSION["test"] = "TEST";
> test timeout
> 
> 
> page2.php
> =
> session_start();
> if (!isset($_SESSION["test"]) ) {
> echo "no session"; die();
> }
> print_r($_SESSION);
> 
> 
> I open page1.php in the browser and only click in the link after waiting 
> more than 30 seconds (session.gc_maxlifetime).
> After this period what should happen with $_SESSION["test"] in page2.php?
> 
> In php, session.gc_maxlifetime: ; After this number of seconds, stored data 
> will be seen as 'garbage' and
> ; cleaned up by the garbage collection process.
> 
> I need to understand this and get a way to automaticly logout a user after n 
> minutes of inactivity.

session.gc_maxlifetime is not what you are looking for. it works like at
every request there is a 1/100 chance
(session.gc_probability/session.gc_divisor) that the garbage collector
will run. if it runs, and finds session data older than
session.gc_maxlifetime, that is cleaned up.

in order to achieve what you want you should store a 'last action'
timestamp or something like that in the session, and upon each request
check how many seconds passed since that timestamp and decide session
validity based on that. eg:

session_start();
if ($_SESSION['last_action_timestamp'] - time() > $max_lifetime)
{
// session expired
}
else
{
$_SESSION['last_action_timestamp'] = time();
}

greets
Zoltán Németh

> 
> My environment:
> Windows XP PRO SP2, apache 2.2.4, php 5.2.4 (apache module),  mysql 5.4.5
> 
> 
> Best regards
> holo
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Sessions - Ini settings and timeout

2007-10-17 Thread Holografix
I have some questions about sessions timeout and sessions ini settings.

In php.ini I have session.gc_maxlifetime = 30 (for testing purpose only) ,
session.gc_probability = 1 and session.gc_divisor = 100 (didn't touch this 
values)

I have two simple pages


page1.php
-
session_start();
$_SESSION["test"] = "TEST";
test timeout


page2.php
=
session_start();
if (!isset($_SESSION["test"]) ) {
echo "no session"; die();
}
print_r($_SESSION);


I open page1.php in the browser and only click in the link after waiting 
more than 30 seconds (session.gc_maxlifetime).
After this period what should happen with $_SESSION["test"] in page2.php?

In php, session.gc_maxlifetime: ; After this number of seconds, stored data 
will be seen as 'garbage' and
; cleaned up by the garbage collection process.

I need to understand this and get a way to automaticly logout a user after n 
minutes of inactivity.

My environment:
Windows XP PRO SP2, apache 2.2.4, php 5.2.4 (apache module),  mysql 5.4.5


Best regards
holo

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php