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

Ste*_*hen 2 php session

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

 // inside the login page
 $_SESSION['username'] = $username;
 $_SESSION['user_id'] = $user_id;
Run Code Online (Sandbox Code Playgroud)

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

// on the users homepage
$new_variable = $_SESSION['username'];
Run Code Online (Sandbox Code Playgroud)

将它的值更改为与数据库不同的值.

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

 // creating a new variable in the users inbox
 $user_id = 12312;
Run Code Online (Sandbox Code Playgroud)

它也将SESSION值更改为该值.


有谁知道我哪里出错了?

谢谢!

Dav*_*unt 5

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

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

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