2013-08-04 52 views
0

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

我在PHP文件$_SESSION['string']中创建了正常的PHP文件并创建了会话。

另外我创建了Joomla模块。我想使用的Joomla模块上正常的PHP文件创建的会话值,但是当我试图让这样的模块会话值:

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

print var_dump($string); 

它返回空值。

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

+0

我不明白你在问什么。你需要解释你在问什么,你做了什么研究,你曾经尝试过什么,什么不起作用。 – Elin

+0

现在你能帮我Elin :) – user2154575

+0

当你说你创建了一个普通的PHP文件,你的意思是一个正确的模块或者只是一个正常的PHP,你刚刚上传到您的网站? – Lodder

回答

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会话外框架,您必须在该页面上加载框架。

希望这可以帮助你..

+0

谢谢jobin.But这不够。我有一个用于验证码的image.php文件,使用模块page.image.php: – user2154575

+0

谢谢jobin.But这不够。我有一个image.php文件用于验证码,使用模块page.image.php,每页更新创建一个新的验证码并保存session.Your代码获取唯一的第一个验证码。 – user2154575

+0

验证码创建页面和检查页面需要包含joomla框架。然后它会工作。 Bcoz,当你的验证码加载的时候,你必须将它分配给joomla会话。 –