php session和其他变量bug,这是正常的吗?

时间:2014-03-21 11:50:47

标签: php session variables

session_start();
$_SESSION["somevariable"] = "blablabla";
print $_SESSION["somevariable"]."<br>";
$somevariable = "some bug";
print $_SESSION["somevariable"]."<br>"; 

output:
blablabla
some bug

我创建一些会话变量($ _session [&#34; data&#34;])然后我创建一些tipical变量($ data)然后$ _session变量被覆盖。 我们的服务器php版本是5.2.5,Zend Engine v2.2.0 对不起我的英文,谢谢你的帮助

4 个答案:

答案 0 :(得分:2)

你有register globals turned on。这会导致$somevariable声明覆盖$_SESSION['somevariable'],因为它们指向同一个地方。

您应该将其关闭,因为它已被弃用,并且可能会导致您遇到的问题。

答案 1 :(得分:1)

About superglobals。正是这一行:

If the deprecated register_globals directive is set to on then the variables 
within will also be made available in the global scope of the script. 
For example, $_POST['foo'] would also exist as $foo.

答案 2 :(得分:0)

点击此处 codeviper

您可以随时更改或更新会话值,例如正常的变量值更改,但在这种情况下您不能,因为它会阻止您的结果是覆盖。 Global php variable securrity ON`背后的原因。

e.g。 $_SESSION['item']$item

相同

您可以设置修改php.ini文件:

session.bug_compat_42 = On

修改为:

session.bug_compat_42 = Off

希望这对你有帮助!

答案 3 :(得分:-2)

你正在将数据写入变量,会话将在页面中保持不变,直到它被某些东西强行写入。