J'essaie de définir une valeur dans un fichier externe, mais les valeurs de session ne sont pas définies correctement. La session est définie à certains moments et d'autres fois, elle n'est pas définie. Je suis en train de définir une session en utilisant un appel ajax. Le code suivant est le code du fichier externe.
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
Dans un appel ajax, je peux obtenir les valeurs de session en utilisant "$ session-> get ('continent')", mais lorsque j'essaie d'obtenir la valeur de session dans Jommla, j'obtiens null ou rien.
$session =& JFactory::getSession();
echo $session->get('continent');
Je viens d'utiliser le code ci-dessus pour obtenir la valeur. Quelqu'un peut-il me dire quel mal je fais?
L'initialisation de votre application n'est pas exactement la même chose que Joomla! CMS. Toute différence mineure peut amener une condition à créer une nouvelle session au lieu de réutiliser la session d'origine.
Au lieu d'essayer de charger la session à partir d'un fichier externe, vous pouvez simplement implémenter une tâche de contrôleur dans le CMS, pour éviter tout risque de ne pas charger la même session.