Привет сообществу героев!
Я тут на своем сайте начал делать такой себе "костыль", а именно: пишу свои скрипты и вызываю их через "ушки" на страницы блога. Почти все работает
Сейчас понадобилась сессия, посмотрел коды ЦМС-ки, но не понял - могу ли я использовать сессию оттуда?
Прошу помочь - если возможно получение доступа к сессии - как это выполнить?
Под "доступом" я понимаю - записать свои значения в сессию (с моими именами) и прочитать их в нужном месте.
9 3748
Еще записи по теме
- Работает ли MaxSite CMS на PHP 5.6.xx и выше?
- И снова про визуальные редакторы
- Почему происходит «Ошибка создания страницы»?
- Почему не срабатывает защита от спама в плагине forms?
- Как удалить приписку #cut к ссылке Читать далее на уровне шаблона?
- Как выводить последние статьи для каждой активной рубрики?
- Как правильно создать сайт в поддиректории существующего сайта?
Владимир, не понял что вы имеете в виду под словами «использовать сессию»? В кукисах - это один тип «сессии». А есть ещё getinfo('session'); (точнее $MSO->data['session']; ).
Если вам нужны были «данные сессии», тогда достаточно сделать в вашем скрипте вызов:
А потом обращаться к ключам. Чтобы посмотреть все доступные ключи сделайте
Если нужно хранить в сессии свои переменные, то просто посмотрите какие есть в $MSO и задавайте свои так, чтобы не повредить системные.
Спасибо за ответ!
пока ответа не было, начал использовать $_SESSION...
Это не противоречит? Или все же лучше $MSO?
Владимир, я не знаю целиком вашей задачи, поэтому и не могу дать исчерпывающий ответ. Подозреваю, что вам просто нужно передавать какие-то значения между разными вызовами ушки. Если задача в этом, то, в принципе, можно использовать любую глобальную php-переменную. Можно использовать и $_SESSION, но очень не желательно, т.к. она системная. Лучше уж тогда на свой страх и риск использовать $MSO, которая принадлежит уровню приложения (движку, а не php интерпретатору).
Да, верно - задача - передавать значения.
Понял.
Странно, везде в учебниках в примерах именно $_SESSION... я думал, что она для того и предназначена... Но это другая тема. Перепишу на $MSO.
Спасибо!
Илья, немного выше Вы написали "Чтобы посмотреть все доступные ключи сделайте"
"Очевидно Вы имели в виду - занятые ключи?
Владимир, что касается моего высказывания по поводу $_SESSION, то оно вызвано неясностью стоящей перед вами задачей. Если у вас стоит задача сохранять и передавать некие значения между ушками в рамках обработки одного запроса, то моё высказывание верно, т.к. использование $_SESSION - избыточно. Если вам нужно передавать некие значения между обработкой разных запросов (при переходе посетителя со страницы на страницу), то конечно использовать $_SESSION - это самый приемлемый вариант.
Про «доступные ключи», да, конечно же в контексте вашей задачи более уместно использовать слово «занятые ключи».
Илья, спасибо за ответ!
Общение - необходимая вещь - постепенно все разъясняется!
Да, мне нужно при переходах по страницам.
А вот это: "сохранять и передавать некие значения между ушками в рамках обработки одного запроса", если не трудно, пожалуйста разъясните немного подробнее: как это вообще возможно передать значения при обработке одного запроса? Как-то вообще себе этого не представляю.
«Один запрос» - это обращение посетителя к сайту открыть определённую страницу. Запрос поступает веб-серверу, а он для обработки запускает движок сайта. Движок, в свою очередь, подгружает разные php-файлы со своими процедурами и функциями - в результате получается, что выполняется как бы одна большая программа. Теперь нужно вспомнить понятие «область видимости переменной». Каждый раз, когда выполняется ваша ушка, по сути происходит вызов функции, у которой своя область видимости. Чтобы сохранить или передать какое-то значение из этой функции «наружу» нужно обратиться к глобальной переменной. Надеюсь, что смог ответить на ваш вопрос, Владимир.
Да, смогли!
Большое спасибо!
Я понял это так: если я использую на странице больше чем одну ушку, то данные, которые нужны в разных фрагментах кода, можно легко передать от кода (ушка), запускаемого ранее, в последующий код - именно посредством $MSO.