2016-02-09 2 views
1

С phpbb3.1 похоже, что у них отключено больше суперклапанов. Я пробовал передавать переменную между сеансами, но не имел успеха.phpbb 3.1 Передача переменной между 2 страницами

$_SESSION['example'] = 'example'; 
$example = $_SESSION['example']; 

Ничего не хранится, потому что ничего не происходит из-за того, что phpbb отключает суперглобалы. Какой следующий лучший и самый безопасный способ передачи переменных между страницами?

ответ

1

Я не уверен, если $_SESSION включен, но попробовать phpBBs request класс ...

$example = $request->variable('example','');

Docs для класса здесь - https://wiki.phpbb.com/PhpBB3.1/RFC/Request_class

+1

Нет, я не нашел, чтобы добавить новую переменную сессии в phpbb. Мне нужно добавить новую строку в базу данных и добавить код в пару php-файлов. Тем не менее, так вы запрашиваете файлы cookie и url-запросы в phpbb. Поэтому, если данные, которые вы хотите отправить на следующую страницу, не являются тем, что вы хотите сохранить частным, вы можете абсолютно использовать это. – Waffles

+0

Вы также можете использовать его для доступа к значениям '$ _POST', если это любая помощь – Eeji

1

Вы можете посмотреть на this answer, где я объяснил, что вы также можете временно (или глобально) переключиться Суперглобалы назад:

Глобально

Откройте /phpbb/config/parameters.yml файл и изменить core.disable_super_globals ключ от true к false.

Программного

Это пример код, который может использоваться для временного включения суперглобальных (за запрос сферы):

// temporarily enable superglobals 
$request->enable_super_globals(); 

// TODO: do your stuff here. 

// disable superglobals again 
$request->disable_super_globals(); 

Вы также можете прочитать this post для дальнейшей информации об этом тема.

+0

3.2 обновление: phpbb/config/default/container/parameters.yml – Brian