zend会话没有在课堂上工作

时间:2015-06-22 17:24:51

标签: php zend-framework zend-session

我正在使用zend会话,它在索引页面上设置,如果我使用jquery并检查任何会话数据。在课堂上我的课程是空的吗?

的index.php

$usersession = new Zend_Session_Namespace();
$usersession->surveyType = array("2D","3D");
$usersession->surveyTypeSelect = 'all';

我用于jquery的文件

$session = new Zend_Session_Namespace();
$log = $session->log;
$cache = $session->cache;
$surveyType = $session->surveyType;
$surveyTypeSelect = $session->surveyTypeSelect;

我的班级

$seismicLibrary = new Spectrum_Seismic_Library();

此类中的任何函数都会为我保存的会话数据返回空值。

public function getAllSurveysByRegionId($regionId, $published = false) {
        //'Default'
        $session = new Zend_Session_Namespace();
        $log = $session->log;
        /*foreach ($session as $index => $value) {
            $log->debug(print_r("aNamespace->$index = '$value';\n",true));
        }*/
        $surveyType = $session->surveyType;     
        $surveyTypeSelect = $session->surveyTypeSelect;

上述功能 - 会话数据为空。

1 个答案:

答案 0 :(得分:0)

您正在该函数中设置一个新的会话命名空间,而不是检索您已经拥有的那个。您可以尝试创建会话,然后使用Zend_Registry::set('session', $session)将其设置为注册表,然后在您需要的任何地方使用$session = Zend_Registry::get('session');时,确保使用相同的会话命名空间。