当我引用它时,PHP Session变量会发生变化

时间:2009-10-27 01:07:45

标签: php session

当我将数据存储在如下变量中时:

 // inside the login page
 $_SESSION['username'] = $username;
 $_SESSION['user_id'] = $user_id;

我在另一页上引用了SESSION,如:

// on the users homepage
$new_variable = $_SESSION['username'];

将其值更改为与数据库不同的值。

或者,例如,如果我创建一个名为$ user_id的新变量

 // creating a new variable in the users inbox
 $user_id = 12312;

它也将SESSION值更改为该值。


有谁知道我哪里出错了?

谢谢!

2 个答案:

答案 0 :(得分:5)

听起来像register_globals已启用。这意味着$ _SESSION和全局变量将有效地运行。如果您控制托管,则应将register_globals设置为Off,如果不是,请询问主机。最后你应该移动托管,因为它非常不安全,很难安全地编程。

您可以使用其他全局数组演示此问题,包括$ _GET。

有关详细信息,请参阅http://php.net/manual/en/security.globals.php

答案 1 :(得分:3)

关闭php.ini中的register_globals