Session 会话不在Joomla模块上工作?

Session 会话不在Joomla模块上工作?,session,joomla,module,Session,Joomla,Module,我们如何在Joomla模块中使用在普通PHP文件中创建的会话 我创建了普通的PHP文件,并在PHP文件$\u session['string']中创建了会话 我还创建了Joomla模块。我想在Joomla模块上使用在普通PHP文件中创建的会话值,但当我尝试在模块中获取会话值时,如下所示: $string = JFactory::getSession(); $string->get('string'); print var_dump($string); 它返回空值 我能做些什么来解决这个

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

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

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

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

print var_dump($string);
它返回空值

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

试试这个

在普通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会话外部框架,则必须在该页面上加载该框架


希望这能对你有所帮助。

我不明白你在问什么。你需要解释一下你在问什么,你做了什么研究,你尝试了什么,什么不起作用。你能帮我吗埃琳:)当你说你创建了一个普通的PHP文件,你是指一个合适的模块,还是仅仅是一个普通的PHP,你刚刚上传到你的网站上将获取当前用户的会话。在这种情况下,您没有当前用户。您需要为某些特定用户获取会话。你不能只是把joomla类扔进一个外部文件,你需要引导框架。谢谢你jobin。但这还不够。我有一个image.php文件用于使用模块page.image.php的验证码。谢谢你jobin。但这还不够。我有一个image.php文件用于使用模块page.image.php的验证码,每个页面更新创建一个新的验证码并保存在会话中。您的代码只获得第一个验证码。验证码创建页面和检查页面需要包含joomla framework。那就行了。Bcoz当验证码加载时,您必须将其分配给joomla会话。我之前也遇到过同样的情况,我是这样修复的:)