Сессии не понятная ошибка

bleed

Новичок
Сессии не понятная ошибка

Делаю единую регистрацию на phpbb и своих сервисах,
приходится подстраиваться под формат работы с сессиями phpbb.
PHP:
function sess_mysql_read($sess_id)
{
//здесь read данных и представление в нужном формате

    ...

    return($output);
}

function sess_mysql_write($sess_id, $val)
{
//!! приходит пустой $val... !!
//здесь получаем $val, распарсиваем и записываем в базу как нужно

...

    return(true);    
}

  session_set_save_handler("sess_mysql_open", "", "sess_mysql_read", "sess_mysql_write", "sess_mysql_destroy", "sess_mysql_gc");
  session_name("sid");    

// если сессию стартанул phpbb, берем из куки id и работаем далее с ним, если нет создаем свой и далее работаем со своим.
  if(isset($_COOKIE['phpbb2mysql_sid']))
      {
       session_id($_COOKIE['phpbb2mysql_sid']);
      }

  session_start();

  $_SESSION['test'] = "ok";

  echo $_SESSION['test'];
Так вот если юзер не залогинен на phpbb, т.е. $_COOKIE['phpbb2mysql_sid'] не существует выводит
и в базу записывается test = ok в функции sess_mysql_write, при этом $val получает ' test|s:2:"ok"; '

Если юзер залогинен
$_SESSION содержит данные о юзере взятые из базы и забитые в этот самый массив в функции sess_mysql_read
выводит:
но(!!!) в функцию sess_mysql_write $val приходит равной "", т.е. пустая... почему???
пол дня бью голову что только не поперепробывал...
версия PHP 4.3.9
 

eps

Новичок
Re: Сессии не понятная ошибка

Как тебе можно дать ответ, если не известно, как ты передаешь этой функции параметры и где ты ее вызываешь?
 

bleed

Новичок
eps
Читай работу с сессиями в php...
session_set_save_handler устанавливает обработчки сессии, которые использует php в зависимости от события которое должно произойти с сессией.
Функции НЕ вызываются явно в коде, их вызывает php автоматом когда нужно сохранить/прочитать данные сессии.
 

bleed

Новичок
Автор оригинала: eps
и sess_mysql_write() ??
почитал php работу с сессиями, если да читай еще...
session_set_save_handler("sess_mysql_open", "", "sess_mysql_read", "sess_mysql_write", "sess_mysql_destroy", "sess_mysql_gc");
 
Сверху