Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > Разработка расширений / TYPO3 extension development

Ответ
 
Опции темы Опции просмотра
Старый 24.01.2013, 04:24   #1
lyova
Продвинутый
 
Регистрация: 23.10.2008
Сообщений: 30
По умолчанию Запись переменных в сессию

Создаю екстеншен.
Мне нужно записать переменные в сесию. После перегрузки страницы они не записываються. Может нужно где то в тайпо включить сохранение сессий?


PHP код:
//если пишу это тогда могу использовать стандарный способ РНР ($_SESSION)
session_start();
//сами РНР сесии работают
print_r($_SESSION['r']);
$_SESSION['r'] = 1;
print_r($_SESSION['r']);


//хочу использовать тайпо для сохранения сессий
//сдесь пытаюсь вывести переменную из тайпо сесии (но ее нет)
echo "<br>session test=".$GLOBALS["TSFE"]->fe_user->getKey("ses","test")."-<br>";
//записываю переменную 
$GLOBALS['TSFE']->fe_user->setKey("ses","test"'1');
$GLOBALS['TSFE']->fe_user->storeSessionData();
//проверяю записало ли. Выводит
echo "<br>session test=".$GLOBALS["TSFE"]->fe_user->getKey("ses","test")."-<br>"

В чём может быть проблемма? Использую typo3 4.5.

Может этот способ работает только если делаю вход как fe_пользователь? А чтобы работало не для залогиненых нужно использовать стандартный механизм работы с сессиями (писать в $_SESSION)? Хотя даже тогда сам обэкт $GLOBALS["TSFE"]->fe_user всё равно существует

Последний раз редактировалось lyova; 24.01.2013 в 04:52
lyova вне форума   Ответить с цитированием
Старый 24.01.2013, 16:23   #2
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
Wink

При данном механзме который Вы хотите использовать
сессии пишутся в БД -

if ($GLOBALS["TSFE"]->loginUser){
#это для авторизированных пользователей
$myData = $GLOBALS["TSFE"]->fe_user->getKey("user","myData");
} else {
#это для не авторизированных пользователей
$myData = $GLOBALS["TSFE"]->fe_user->getKey("ses","myData");
}

См.: здесь...
http://www.koller-webprogramming.ch/...-mit-sessions/
Ивано++ вне форума   Ответить с цитированием
Старый 24.01.2013, 16:57   #3
lyova
Продвинутый
 
Регистрация: 23.10.2008
Сообщений: 30
По умолчанию

Но я так и использую это:
PHP код:
//сдесь пытаюсь вывести переменную из тайпо сесии (но ее нет)
echo "<br>session test=".$GLOBALS["TSFE"]->fe_user->getKey("ses","test")."-<br>"
Я просто не проверяю на реестрацию, потому что не использую её на сайте. То есть пользователь всегда не залогиненый.
lyova вне форума   Ответить с цитированием
Старый 24.01.2013, 20:46   #4
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
По умолчанию

Сессия пишется в БД

Вы можете ее записать [название расширения][ключ][значение]
Вы можете ее получить [название расширения][ключ][значение]

_SESSION - использовать не надо....
Ивано++ вне форума   Ответить с цитированием
Старый 25.01.2013, 13:55   #5
lyova
Продвинутый
 
Регистрация: 23.10.2008
Сообщений: 30
По умолчанию

Запустил этот код на другом хостинге. Всё работает. Значит сам код в моём первом посте правильный и его можно использовать. Наверно всё таки где-то на шлюзе режутся куки. Попробовал зайти на сайт по локальному IP адресу(не из вне) работает.
lyova вне форума   Ответить с цитированием
Старый 25.01.2013, 14:16   #6
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
По умолчанию

Удивительно - в круг моих понятий при работе с typo3 досихпор не вошли такие понятия как шлюзы, резка cook , IP - и прочее - только хостинг либо localhost - наверно всему виной отсутствие злых админов - которым лишь бы что-то закрыть...

Последний раз редактировалось Ивано++; 25.01.2013 в 14:29
Ивано++ вне форума   Ответить с цитированием
Старый 12.05.2016, 05:23   #7
shuman
Senior Member
 
Регистрация: 21.11.2007
Сообщений: 217
По умолчанию

Ивану - вы по немецки понимаете?
shuman вне форума   Ответить с цитированием
Старый 12.05.2016, 22:19   #8
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
По умолчанию

Нет, с немецким не дружу...
Кстати, к администрации форума - не везде заменены ссылки с http://forum.typo3.biz/ на "ru"!
__________________
Иван Литовченко
http://iv-litovchenko.ru/
Ивано++ вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись на страницу - не в tt_content а в другую таблицу Ивано Разработка расширений / TYPO3 extension development 1 20.07.2012 13:03
запись данных прямо в tt_content Anlov Общие вопросы 10 28.09.2011 19:19
как формировать ссылку на запись, которая на другой странице surfman TypoScript практикум 0 25.11.2009 12:24
сохранять запись не на той странице, где создается demav TypoScript практикум 2 10.07.2007 22:55
Создать новую запись. Perignator Temporis Общие вопросы 2 10.11.2004 19:48


Часовой пояс GMT +4, время: 09:43.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория