会话值未在JOOMLA中的while循环内更​​新

时间:2016-09-09 03:32:49

标签: php session joomla

我不确定这是否是我的代码中的Joomla或PHP问题。基本上我分别在页面加载和onclick事件上调用了两个函数A和B. 在页面加载时,我将会话值设置为loadA。触发click事件后,我将会话值设置为clickB。

同时while循环内部函数正在运行,直到满足条件。在循环内部,它检查会话值。因此,如果在函数B内部更新了值,那么当while循环检查时,它还应该在函数A中更新吗?

但是它没有给出更新的价值。函数A仍然将loadA作为会话值放在while循环中,即使在click事件发生之后也是如此。如何解决这个问题?

class XXY(){

        public function A()
        {

            $session = JFactory::getSession();
            //set session value on page laod  
            $this->setSession('loadA');
            while (x == y)
            {
              usleep(10000);
              clearstatcache();
              $comet = $session->get('runningComet');//giving the first set value, loadA
              if($comet !== 'loadA'){
                break;
              }
            }

        }

        public function B()
        {
            $session = JFactory::getSession();

            $this->setSession('loadB');
            $comet = $session->get( 'runningComet');//giving the updated value, loadB
        }

        public function setSession($currentComet){

        $session = JFactory::getSession();
        $session->set('runningComet', $currentComet);
        }
    }

0 个答案:

没有答案