How to access session variables set by an external script

From Joomla! Documentation

Revision as of 03:21, 12 June 2010 by Floris (talk | contribs) (New page: Situation: when you call a session variable in Joomla from an external script, it appears to be empty. Solution: Replace session_start(); in your external script with <source lang=html> ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Situation: when you call a session variable in Joomla from an external script, it appears to be empty.


Solution: Replace session_start(); in your external script with

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();

Be sure to change JPATH_BASE to suit your directory structure.

Replace the $_SESSION[ 'name' ] = "value"; in your external script with

$session =& JFactory::getSession();
$session->set('name', "value");

Now you can call this session variable using:

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