在php中找不到Joomla会话变量

时间:2016-02-01 19:01:29

标签: php session joomla

我在文章中设置会话变量:

 $session->set('test' , 'testing' ); 

只要我留在其他Joomla模块和文章中,我就可以毫无问题地阅读它。

$db = $session->get('test' , '' );

但是当我在Javascript(同一文件夹中的所有内容)中执行由XMLHttpRequest调用的php时,它找不到会话变量并返回默认值。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果要声明这些会话值是可以从Joomla中的任何位置读取的变量,那么您应该使用setUserState和getUserState方法。

例如,如果要设置名为test的会话变量,则可以执行此操作:

$app = JFactory::getApplication();
$app->setUserState('test','my test value');

然后,如果你想在Joomla的其他任何地方调用它,只需使用getUserState将其设置为变量:

$app = JFactory::getApplication();
$mySessionVariable = $app->getUserState('test');
echo $mySessionVariable;

以下是Joomla的会话状态变量文档的链接: Joomla User State Variables