0

我们如何使用在 Joomla 模块的普通 PHP 文件中创建的会话?

我创建了普通的 PHP 文件并在 PHP 文件中创建了会话$_SESSION['string']

我还创建了 Joomla 模块。我想在 Joomla 模块上使用在普通 PHP 文件中创建的会话值,但是当我尝试像这样在模块中获取会话值时:

$string = JFactory::getSession();
$string->get('string');

print var_dump($string);

它返回空值。

我能做些什么来解决这个问题?

4

1 回答 1

0

尝试这个,

在您的普通 php 文件中

define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );//this is when we are in the root
define( 'DS', DIRECTORY_SEPARATOR );

require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
$string = JFactory::getSession();
$string->set('string','your_session_value'); // instead of $_SESSION[]

也在你的模块中

$string = JFactory::getSession();
echo $string->get('string');

如果您尝试访问 joomla 框架内的正常会话值,它将无法正常工作。此外,如果您需要使用 joomla 会话外部框架,则必须在该页面上加载框架。

希望这可以帮助你..

于 2013-08-05T04:21:17.003 回答