私はJoomlaフレームワークを含めると、Joomlaのセッションは、私が別のスクリプトで使用しているセッションを上書きしているようです。 Joomlaの最初のセッションから情報を取得するにはどうすればよいですか?Joomlaのセッションで上書きされることなく、(外部PHPスクリプトから)セッションデータを取得するには?
DETAILS
私はJoomlaの外部のPHPスクリプトでセッションを開始しました。ファイルは、私は、それは2つのファイル、getsessdata.phpが含まmain.phpと呼ばれるPHPスクリプトを持っており、
main.php
<?php
include("getsessdata.php");
include("getjoomla.php");
?>
をgetjoomla.php file1.php
<?php
session_start();
$qid[0]=1;
$qid[0]=2;
$qid[0]=3;
$_SESSION['qid']=$qid;
?>
されていることを
getjoomla.phpが含まれていない場合、main.phpからセッションデータを取得できます。
var_dump($ _ SESSION); getjoomla.phpが含まれている場合、qidのセッションデータが存在しないことを示します。
getsessdata.php
<?php
session_start();
$qid=$_SESSION['qid'];
?>
getjoomla.php
<?php
define('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__));
define('DS', DIRECTORY_SEPARATOR);
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php');
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php');
require_once (JPATH_BASE.DS.'libraries'.DS.'joomla'.DS.'environment'.DS.'request.php');
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
?>
質問:私はfile1.phpからセッション情報にアクセスし、まだgetjoomlaからのデータにアクセスするにはどうすればよい
。 PHP?なぜ私は最初のセッションから情報を失うのですか?
これが役立つかどうかわかりませんが、一度main.phpのfile1からセッションデータを取得すると、そのセッションは不要になります。
困ったことに、Joomla 1.7!私は$ mainframeが廃止されたことを知らなかった。正しい方向に私を指してくれてありがとう:) – TryHarder
これは廃止されたコードを置き換えるだろうと思いますか? $ app =&JFactory :: getApplication( 'site'); $ app-> initialise(); – TryHarder
今はリファレンスポイントの近くにはありませんが、それは正しいようです。 – Craig