К содержанию

переменная $_SESSION не видна при вызове файла через ajax

Здравствуйте. Помогите пожалуйста. Не пойму почему переменная $_SESSION['code'] не видна при вызове файла через ajax

Использую MODX Revolution 2.6.5-pl
есть спиппет
[[!inteс]]

в нем вызывается php файл
include('/test/test_inteс.php');
в котором создается переменная $_SESSION['code'].

На данном этапе $_SESSION['code'] есть и есть она во всех файлах, связанных с test_inteс.php. Но если вызвать другой файл методом get через ajax,
например: ...type: 'get', url:'/test/test_base.php'…
$_SESSION['code'] в файле test_base.php становится равна 0.

session_start(); не ставлю нигде, как советуют многие.

Что не так я делаю? Спасибо за любую помощь.
Alisa
Alisa
31 января 2020, 13:30
modx.pro
1 727
Реклама

Комментарии: 8

Михаил
Михаил Эксперт
31 января 2020, 15:55
А если поставить session_start();
    Alisa
    Alisa Старожил
    31 января 2020, 17:26
    Тогда загибается вся сессия на php файлах. Без этой команды хоть что-то работает. Вроде как сама команда прописана в самой системе MODX.
    Народ советует не ставить.
    Сергей Шлоков
    Сергей Шлоков Эксперт
    01 февраля 2020, 07:15
    В файле test_base.php MODX инициализируется?
      Alisa
      Alisa Старожил
      01 февраля 2020, 07:53
      Нет ((. В нем как это сделать? Его нужно обязательно в какую-то определенную папку ложить?
        Сергей Шлоков
        Сергей Шлоков Эксперт
        01 февраля 2020, 17:48
        Например, вот так
        // Путь к конфигу зависит от вложенности текущего  файла
        require_once dirname(dirname(__FILE__)) . '/config.core.php';
        require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
        $modx = new modX();
        $modx->initialize('web');
        $modx->getService('error','error.modError', '', '');
        Подозреваю, что возможны проблемы и с этим кодом, поэтому советую обратиться за помощью к программистам.
          Alisa
          Alisa Старожил
          01 февраля 2020, 18:57
          Идеально сработало! Огромное вам человеческое спасибо! Теперь понятно как работать с внешними файлами. ))
            Сергей Шлоков
            Сергей Шлоков Эксперт
            01 февраля 2020, 19:37
            На здоровье! Всё это есть в доках.
      Alisa
      Alisa Старожил
      01 февраля 2020, 08:09
      Есть вариант добавить этот файл через дерево ресурсов, назначить пустой шаблон, не показывать в меню. Но он постоянно будет висеть в ресурсах.
      Может как-то по другому можно? По-правильному )))
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8