Блог разработчиков

Все разделы | CMS Joomla 2.5 | Общее | PHP | Javascript + jQuery

Сессии в Joomla!

05 сентября 2014

В системе управления Joomla! запись в сессию стандартным php-способом не произвидится в целях защиты от взлома. Для записи данных в переменную $_SESSION необходимо пользоваться следующей конструкцией:

$session =& JFactory::getSession(); //включаем сессии
$session->set( 'myvar', 'helloworld' ); //производим запись в сессию

Необходимо учитывать что подобное не получится выполнить в файлах, не являющихся системными файлами Joomla!, т.е. в файле обязательно должен быть включен фреймверк Joomla!

Вывод из сессии производится вот так:

$session =& JFactory::getSession(); //включаем сессии, если они еще не были включены
echo 'Значение myvar: ' . $session->get( 'myvar' ); //выводим на экран значение из сессии

В обычном php вывод значения переменной сессии выглядел бы так:

echo $_SESSION['myvar']; //тоже работает, но нежелательно использовать

В целях безопасности веб-сайта лучше пользоваться стандартными функциями фреймверка, запись сессий не исключение.