Здравствуйте, столкнулся с такой проблемой что сессия в теме и сессия в файле который грузится аяксом разные. Проблема даже не в аяксе:
Например если запустить файл www.mysite.ru/myfile.php - то в сайте www.mysite.ru и файле - сесси разные.
Пробовал принудительно открывать сессию с нужным PHPSESSID - все равно (сесия вроди таже)но нужных глобальных переменных она не видит.
Даже при залогенном пользователе невозможно через аякс проверить if ( $user->uid )...
В файл кидал:
define('DRUPAL_ROOT', $_SERVER['DOCUMENT_ROOT']);
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
require_once DRUPAL_ROOT . '/includes/common.inc';
Ничего не помогает!
Может кто подскажет как все это можно обойти.
Комментарии
Частично разобрался - сессии в Друпале хранятся в БД.
Может кто даст ссылку чтобы посмотреть как правильно обработать данные таблицы sessions, буду очень признателен.
А чего их там обрабатывать? По-моему, таблица простая как валенок. Вставил запись - новая сессия, удалил запись - нет сессии. Что конкретно вас смущает?
Именно с данные как разобрать, тоесть если было $_SESSION[a]=5; то как из БД вытянуть эту а.
Ну а вообще сильно интересует как внешним файлом который грузится аяксом увидеть авторизован ли пользователь.
define('DRUPAL_ROOT', $_SERVER['DOCUMENT_ROOT']);
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
require_once DRUPAL_ROOT . '/includes/common.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$user->uid // это не видит авторизованного пользователя.
Все проблема решена.
Проблему с сессиями во внешних скриптах можно просто решить почитав здесь http://www.drupal.ru/node/64658
А ларчик то просто открывался :).