web-dev-qa-db-ja.com

joomla 2.5外部ファイルのセッション変数

外部ファイルに値を設定しようとしていますが、セッション値が正しく設定されていません。セッションが設定されている場合とされていない場合があります。私はajax呼び出しを使用してセッションを設定しています。以下は外部ファイルのコードです。

define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/' ));
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();

$session =& JFactory::getSession();
$session->set('continent',123456); //Set session name and value
echo $session->get('continent'); //Get session value 

Ajax呼び出しでは、「$ session-> get( 'continent')」を使用してセッション値を取得できますが、Jommla内でセッション値を取得しようとすると、nullまたは何も取得されません。

$session =& JFactory::getSession();
echo $session->get('continent');

上記のコードを使用して値を取得します。誰かが私が間違っていることを教えてもらえますか?

3
DonOfDen

アプリの初期化はJoomlaとまったく同じではありません! CMS。わずかな違いがあると、元のセッションを再利用する代わりに、条件によって新しいセッションが作成される可能性があります。

外部ファイルからセッションをロードする代わりに、CMS内にコントローラータスクを実装するだけで、同じセッションをロードしないというリスクを回避できます。

2
Anibal