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
Why is there any a priori relationship between $_SESSION['var'] and $var???
What really sucks is that I developed a decent-sized website that uses extensive use of this kind of thing. My local configuration wasn't giving the warning, but the live webserver is.
Is this the only way around it aside from renaming my $var 's ? But do I have to do this on every single page that I made this naming violation? Is there another way to remove this warning. Is the warning serious?
Is this just as bad, or worse
Code:
$var = $_SESSION['var'];
??? I do it all the time for convenience later in the script. Bummer.
Not sure if that's a holdover from the bad old days of register_globals or not?
In any case, it shouldn't be a problem, but on the other hand, why assign a $_SESSION variable to another variable, when you already have it in the $_SESSION array? (Just to save a little typing later?) Or I suppose you could change the case or add an underscore or something:
PHP Code:
$var_1 = $_SESSION['var1'];
"Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
~ Terry Pratchett in Nation
I think it's related to older versions of PHP. If you can upgrade to the latest 5.3 version, I would. If only for security reasons.
To get around the error without upgrading PHP, and without using the ini_set directive in every PHP file, you can set the options in a custom php.ini, or in your .htaccess, depending on how PHP is set up on your system.
If you can override the default php.ini on your system, create a file php.ini and place it in your root web document folder (IE: public_html, www, or htdocs) then add the following two lines to the file:
Thanks for your replies. I checked into PHP version on the server and it's 5.2.17. I'm guessing that's the problem. I'm just gonna rename my variables. Cheers
Thanks for your replies. I checked into PHP version on the server and it's 5.2.17. I'm guessing that's the problem. I'm just gonna rename my variables. Cheers
You already have the variables in $_SESSION, session is a super global so it's accessable to every script. Why not just use $_SESSION itself? Would make your code easier to read!
Bookmarks