$_SESSION в 3.1 недоступны?
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 1.2.0
- Сообщения: 11
- Стаж: 13 лет 1 месяц
$_SESSION в 3.1 недоступны?
Есть форум с внешней авторизацией, была версия 3.0.12 - замучили спамеры и пришлось обновиться. И прозрел после обновления.
Не могу получить данные $_SESSION в php/auth/provider/myauth.php
в __construct()
добавил session_start()
print_r($_SESSION) - пустой.
print_r(session_id()) - генерируется в каждый раз новый.
Хотя в корень есть файл test.php
session_start()
print_r($_SESSION) - Данные с сайта.
print_r(session_id()) - остается неизменным.
Подскажите в какую сторону разбираться чтобы получить данные сессии сайта в файлах phpBB.
Не могу получить данные $_SESSION в php/auth/provider/myauth.php
в __construct()
добавил session_start()
print_r($_SESSION) - пустой.
print_r(session_id()) - генерируется в каждый раз новый.
Хотя в корень есть файл test.php
session_start()
print_r($_SESSION) - Данные с сайта.
print_r(session_id()) - остается неизменным.
Подскажите в какую сторону разбираться чтобы получить данные сессии сайта в файлах phpBB.
-
- Former team member
- Сообщения: 12113
- Стаж: 18 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 36 раз
- Поблагодарили: 1526 раз
Re: $_SESSION в 3.1 недоступны?
Код: Выделить всё
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
print "<pre>"; print_r($user->data['session_id']);print "</pre>";
?>
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- phpBB 1.2.0
- Сообщения: 11
- Стаж: 13 лет 1 месяц
Re: $_SESSION в 3.1 недоступны?
Вы меня не поняли, мне надо получить доступ именно к $_SESSION т.к. там хранятся данные с сайта. в 3.0.12 все прекрасно работает.
-
- Former team member
- Сообщения: 12113
- Стаж: 18 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 36 раз
- Поблагодарили: 1526 раз
Re: $_SESSION в 3.1 недоступны?
Так и пишите сразу, что вам нужно, чтоб понятно было, а не что я делаю.
Код: Выделить всё
print "<pre>";print_r($_REQUEST);print "</pre>";
Это понятно?phpbb\request\deactivated_super_global Object
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- phpBB 1.2.0
- Сообщения: 11
- Стаж: 13 лет 1 месяц
Re: $_SESSION в 3.1 недоступны?
$request->enable_super_globals();
помогло.
Спасибо!
а как получить сессии через $request-> ?
не прибегая к $request->enable_super_globals();
помогло.
Спасибо!
а как получить сессии через $request-> ?
не прибегая к $request->enable_super_globals();
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
-
- phpBB 1.2.0
- Сообщения: 11
- Стаж: 13 лет 1 месяц
Re: $_SESSION в 3.1 недоступны?
т.к. идентификатор сессии не совпадает, и не могу идентифицировать пользователя.
Я авторизирую пользователя на стороне сайта. Сайты и форум на разных поддоменах. Сессии на сайте хранятся в mysql (session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_clean');)
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: $_SESSION в 3.1 недоступны?
paladi, для общего развития - с каким проектом интегрируете, где используются сессии PHP?
-
- phpBB 1.2.0
- Сообщения: 11
- Стаж: 13 лет 1 месяц
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: $_SESSION в 3.1 недоступны?
Сможете протестировать изменение в ядро phpBB, чтобы сделать доступным
$_SESSION
?-
- phpBB 1.2.0
- Сообщения: 11
- Стаж: 13 лет 1 месяц
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: $_SESSION в 3.1 недоступны?
попробовал - код срабатывает
Тогда неясно, в каком случае не работает.
Отправлено спустя 13 минут 21 секунду:
paladi, версия PHP какая?
Код: Выделить всё
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
session_start();
echo 'Welcome to page #1';
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');
var_dump($_SESSION);
Отправлено спустя 13 минут 21 секунду:
paladi, версия PHP какая?
-
- phpBB 1.2.0
- Сообщения: 11
- Стаж: 13 лет 1 месяц
Re: $_SESSION в 3.1 недоступны?
Версия 5.3
Если без $request->enable_super_globals(); то результат такой:
Welcome to page #1array(3) { ["favcolor"]=> string(5) "green" ["animal"]=> string(3) "cat" ["time"]=> int(1434385991) }
Если с $request->enable_super_globals(); то получаю еще данные с сайта, как мне и надо.
Если без $request->enable_super_globals(); то результат такой:
Welcome to page #1array(3) { ["favcolor"]=> string(5) "green" ["animal"]=> string(3) "cat" ["time"]=> int(1434385991) }
Если с $request->enable_super_globals(); то получаю еще данные с сайта, как мне и надо.
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: $_SESSION в 3.1 недоступны?
Сложно что-то делать вслепую, попробуйте следующие правки ядра.
И затем, без
Отправлено спустя 1 минуту 2 секунды:
Код: Выделить всё
OPEN
\phpbb\request\request_interface.php
FIND
const FILES = 5;
AFTER, ADD
const SESSION = 6;
OPEN
\phpbb\request\request.php
FIND
\phpbb\request\request_interface::FILES => '_FILES',
AFTER, ADD
\phpbb\request\request_interface::SESSION=> '_SESSION',
$request->enable_super_globals();
, попробовать получить переменные примерно таким способом:Код: Выделить всё
$var = $request->variable('varname', 'default_value', \phpbb\request\request_interface::SESSION);
Минимальная версия для phpBB 3.1 - PHP 5.3.3.
-
- phpBB 1.2.0
- Сообщения: 11
- Стаж: 13 лет 1 месяц
Re: $_SESSION в 3.1 недоступны?
по поводу версии ошибся: PHP Version 5.4.38-0+deb7u1
Сделал все, но результат тот же.
Ну может в моем случае, придется вкл/отключать.
Сделал все, но результат тот же.
Ну может в моем случае, придется вкл/отключать.