ticallian
ticallian

Reputation: 1641

PHP: Server duplicating $_SESSION['Name'] data to '$Name' variable

I've just discovered a setting on the server I'm developing a site for that is different from my localhost settings, however, I can't track down where to change it.

Here's a simple example of what's happening.

$_SESSION['Animal'] = "Dog";
echo "#1: ".$_SESSION['Animal']."<br/>";
echo "#2: ".$Animal;

On my localhost, the server returns:

#1: Dog
#2:

On the public host, the server returns:

#1: Dog
#2: Dog

I'm guessing this is a setting in the public servers php.ini file, however, I cannot locate which setting it is.

Upvotes: 1

Views: 179

Answers (2)

meouw
meouw

Reputation: 42140

OH NO! Your host has register_globals turned on, that's bad - have a look at these docs

Upvotes: 2

Mike B
Mike B

Reputation: 32145

The Registered Globals directive appears to be on.

This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

Information about the register_globals ini setting

As indicated by the statement above, it is highly recommended that you disable this in your php.ini file on your public server.

If you don't have access to the php.ini file on your public server, the manual suggests an alternative:

Please note that register_globals cannot be set at runtime (ini_set()). Although, you can use .htaccess if your host allows it as described above. An example .htaccess entry: php_flag register_globals off .

Upvotes: 8

Related Questions