当我将数据存储在如下变量中时:
// 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值更改为该值。
有谁知道我哪里出错了?
谢谢!
答案 0 :(得分:5)
听起来像register_globals已启用。这意味着$ _SESSION和全局变量将有效地运行。如果您控制托管,则应将register_globals设置为Off,如果不是,请询问主机。最后你应该移动托管,因为它非常不安全,很难安全地编程。
您可以使用其他全局数组演示此问题,包括$ _GET。
答案 1 :(得分:3)
关闭php.ini中的register_globals