Joomla - не работает несколько переменных сеанса не работает - PullRequest
0 голосов
/ 20 декабря 2011

Я думал, что это будет просто, но я думаю, что где-то есть подвох ... Я разрабатываю пользовательскую часть кода для установки Joomla, и мне нужно сбросить некоторые переменные сеанса перед выполнением моего кода. Итак, естественно, у меня есть

$session->clear('var1'); 
$session->clear('var2'); 
$session->clear('var3'); 
$session->clear('var4'); 

но страница выглядит абсолютно пустой и ничего не происходит. Есть предложения?

1 Ответ

1 голос
/ 20 декабря 2011

Предполагая, что вы получили переменную $ session, например:

$session = JFactory::getSession();

Если вы получаете пустую страницу, возможно, в вашем коде есть какая-то ошибка.У вас есть доступ к журналу ошибок?Если нет, вы можете попытаться принудительно отобразить ошибки в своем коде, если это не производственная среда (хотя это не самый лучший способ сделать это) или включить режим отладки от администратора joomla.

Вы также можете попробовать запустить php-файл в своем браузере, и если все в порядке и нет ошибок синтаксического анализа в файле, вы должны увидеть сообщение типа «Ограниченный доступ» или подобное.

Кроме того, если сценарий не дает сбоя, вы можете проверить, какое значение возвращает каждый вызов $ session-> clear ('xxx') (он должен вернуть только что очищенное значение.

ПоследнееМне приходит в голову то, что переменные, которые вы сохранили в сеансе, находятся в другом «контексте». Когда вы получаете / устанавливаете данные для сеанса, вы можете передать «пространство имен» в качестве дополнительного параметра, поэтому эти переменные хранятся вэто «пространство имен» (на самом деле, оно хранится в другом индексе внутри сеанса. Поэтому, если возможно, вы должны проверить, хранятся ли эти переменные в сеансе, используя другое «пространство имен»:

$session->set( 'var1', $value, 'another_namespace' );

Если так,Вы должны очистить его следующим образом:

$session->clear( 'var1', 'another_namespace' );

PS: я сказал «пространство имен», потому что это имя параметра, которое Joomla использует в этих методах сеанса, но не путайте с PHPпространства имен.

Надеюсь, это помогло!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...