On 1/16/07, Nuno Oliveira <dreasi0n.php.net@xxxxxxxxx> wrote:
Hi, I'm working on a website and one of the features that I've implemented so far is the user timeout. Every time that a user browses to a different page, the variable named $_SESSION['user']['lastactive'] is updated to the current time. However, before that, my PHP scripts check if the session for this user had timed out or not... The script that checks that is named "session.php" and it is included in every file. If it detects a timeout, it sets a variable $_SESSION['form']['errors'] to a string ('Your session has expired... Bla, bla, bla...') and then redirects to the login.php and the user will see that he his being asked to login again for the reason displayed. Everything works great except in one situation... If the timeout period happens when the user is filling a form, the action that it executes (process.php) will also include session.php and it sets the error string but when it redirects to login.php the $_SESSION['form']['errors'] variable is empty...
You must be unsetting the individual $_SESSION['form']['errors'] variable or the entire $_SESSION array somewhere in there. David