无法从其他php页面访问对象用户

无法从其他php页面访问对象用户,php,oop,object,Php,Oop,Object,我正在努力学习MVC模式,但即使我很努力,似乎还是遇到了大问题。 我有一个名为baseController的控制器,它执行以下操作: class baseController { public $model; public $user; ... $activeuser = $this->model->getlogin(); if ($activeuser != 'invalid user' && $ac

我正在努力学习MVC模式,但即使我很努力,似乎还是遇到了大问题。 我有一个名为
baseController
的控制器,它执行以下操作:

class baseController {

    public $model;
    public $user;
        ...
        $activeuser = $this->model->getlogin();
        if ($activeuser != 'invalid user' && $activeuser != "") {                                                                                               
                            $this->user=$activeuser;
            header("Location:home.php");
        }
我有一个model.php文件,其中包含
getlogin()
函数:

public function getlogin() {

    if (isset($_REQUEST['username']) && isset($_REQUEST['password'])) {
        $username = mysql_real_escape_string($_REQUEST['username']);
        $pwd = mysql_real_escape_string($_REQUEST['password']);
        $pwd = md5($pwd);
        $query = mysql_query("SELECT * FROM users WHERE username='$username' AND password ='$pwd' AND attivato =1;");

        if (mysql_num_rows($query) == 1) {
                        require_once 'User.php';
                        $sql=mysql_fetch_array($query);
                        $activeuser = new User();
                        $activeuser->username=$sql['username'];
                        $activeuser->email=$sql['email'];
            return $activeuser;
        } else {
            return 'invalid user'; //TO-DO
        }  
    }
}
home.php创建一个新的homeController并调用其
invoke()
函数。
homeController
文件包括视图页面,该页面称为afterlogin.php

在afterlogin.php中,我得到了“错误”:

if(isset($activeuser)){
echo“utete”。$activeuser->username.

”; 回显“电子邮件”$activeuser->Email。”

“;} //echo“通过“$activeuser->pwd”。

”; echo“主页,登录OK”;

似乎是homeController,因此afterlogin页面无法访问在baseController文件中创建的用户。如果我在$this->user->username的baseController中尝试回显,一切都正常。我该怎么办??救命

客户机-服务器生命周期实际上是无状态的;每次加载页面时,变量和对象都会被删除

有来自客户端的
$\u POST
$\u GET
超全局,这是标准表单提交和url查询过程的一部分

服务器具有数据库、文件写入(安全POV中的粗略描述)和
$\u会话
超全局。这些是服务器在页面加载之间管理数据状态的方法


要明白,如果您使用的是对象,则需要在每次加载页面时对其进行实例化,以使其正常工作。您可以将用户ID存储在
$\U会话['user\U ID']
中,并每次从中实例化用户对象,根据数据的变化方式进行适当的更改。

您需要在会话中存储用户对象或用户ID。PHP变量只有一个请求的生存期,这将使客户端向服务器发送新请求,因此所有变量都为空,需要在home.phpBjorne中重新创建,因此如何重定向到其他页面?或者,我如何以可以从home.php页面访问的方式存储所需信息?谢谢,我将用户名和电子邮件存储在$_SESSION[]变量中,因此我在homeController中重新创建了一个用户对象:D它似乎可以工作!!谢谢
    if (isset($activeuser)){
    echo "<p>Utente ".$activeuser->username."</p>";
    echo "<p>Email ".$activeuser->email."</p>";}
    //echo "<p>Pass ".$activeuser->pwd."</p>";
    echo"<h1> HOMEPAGE, LOGIN OK </h1>";