Joomla.it Forum
Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => : mizar001 04 Jun 2008, 16:00:24
-
Salve. Sto costruendo un component che finora va alla grande. Ma quando cerco di usare $_SESSION in un file incluso nel framework la sessione si mantiene solo per la pagina da visualizzare, ma poi si resetta su ogni altra pagina.
Devo usare qualche accorgimento speciale ? Magari potessi usare la JSession, pero' purtroppo devo inviare tali variabili a script php che non sono stati sviluppati con joomla, pur risiedendo nello stesso server.
-
Ho risolto in questo modo, anche se potrebbe essere rischioso.
La variabile $_SESSION e' sovrascritta dal framework di joomla, e se io la uso in modo scorretto, ad esempio come un array monodimensionale, tutto il resto mi si cancella e addio sessione.
Se invece uso $_SESSION ad esempio in questo modo
$_SESSION['categoria']['nome_variabile']
tutto funziona.
ATTENZIONE : il problema e' che non potete usare questa $_SESSION se nel vostro script non avete inizializzato tutto il framework, e se la usate sara' visibile cosi' com'e' solo dagli script non integrati nel framework.
Questo genera un isolamento tra script fai-da-te e script integrati.
La soluzione finora che ho trovato necessaria e' che ogni script che debba accedere alla sessione inizializzata da joomla debba contenere le seguenti righe (che sono le prime di joomla/index.php)
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname("/opt/lampp/htdocs/joomla/index.php") );
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');