简体   繁体   中英

Bootstrapping and accessing session variables in Zend Framework

Having problems accessing session variables through different actions in ZF.

Here are the contents of the bootstrapper:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{

    protected function _initSession()
    {
            Zend_Session::start();
            $sessionUser = new Zend_Session_Namespace('sessionUser');
    }

}

I assign a variable to $sessionUser in the IndexController:

                    $sessionUser->userId = $res->userId;
                    $sessionUser->organisationId = $res->organisation_organisationId;
                    $sessionUser->forename = $res->forename;

And attempt to access the variable in the Administrator controller:

$sessionUser->organisationId

Yet I receive the error:

Notice: Undefined variable: sessionUser in /usr/local/zend/apache2/htdocs/SA1/application/controllers/AdministratorController.php on line 17 Notice: Trying to get property of non-object in /usr/local/zend/apache2/htdocs/SA1/application/controllers/AdministratorController.php on line 17

And ideas what could be causing this?

Many thanks

要在控制器中恢复会话变量,还需要执行以下操作:

$sessionUser = new Zend_Session_Namespace('sessionUser');

Well, the error you are getting is obvious. The $sessionUser is not defined.

You must initialize such variable before assinging values to it. Put this in your controller:

 $sessionUser = new Zend_Session_Namespace('sessionUser');

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM