What to do if you see your PHP script relies on session side-effect error message.

I came across this error a few times, enough to where I dug around and finally found the real fix to suppress the error completely.

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0

I was able to suppress the error by properly upsetting a session variable:

Sending UI Messages in PHP

I am using sessions to save UI messages that can be shown to the user after an action has been formed (ie: logging in).

My initial problem was that the message persisted, while attempts to unset the session message didn’t allow for any messages to be shown.

Here’s how I solved the problem:

First save the messages from the session, then you can delete them out of the session so they don’t persist past the one request.

Here is how I set the proper success or error message in the login function: