Cómo acceder variables de sesión asignadas, desde un script externo

From Joomla! Documentation

This page is a translated version of the page How to access session variables set by an external script and the translation is 100% complete.

Other languages:
English • ‎español • ‎français • ‎Nederlands

Situación: cuando una variable de sesión es llamada en Joomla desde un script externo, esta parece estar vacía.


Solución: Reemplazar session_start(); en el script externo con

define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../..' ));

require_once ( JPATH_BASE. '/includes/defines.php' );
require_once ( JPATH_BASE. '/includes/framework.php' );
$mainframe = JFactory::getApplication('site');
$mainframe->initialise();

Asegúrate de cambiar JPATH_BASE según tu estructura de directorios.

Reemplaza $_SESSION[ 'nombre' ] = "valor"; en tu script externo con

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

Ahora puedes obtener esta variable de sesión usando:

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