Forum Webscript.Ru
Программирование => Perl => Тема начата: commander от 02 Марта 2005, 17:07:02
-
задача получить $session->atime(), не изменяя его...
если делать так:
-------------------------------------------------------------------------------
my $session = new CGI::Session("driver:PostgreSQL", $sid, {Handle=>$dbh, TableName=>\'sessions\'});
$session->atime();
-------------------------------------------------------------------------------
получаеться инициализация сессии и atime() == time()...
вариант писать парсер поля a_session в БД, меня не очень греет, есть другие варианты?
-
http://www.cpan.org/authors/id/C/CO/COSIMO/CGI-Session/PostgreSQL-1.03.pm
в части retrieve
пробуй my $data = $session->retrieve($id)
-
NeoNox
ну да согласен, так можно просмотреть последнее atime, но фокус в том, что при закрытии сессии atime измениться на текущее время... что не есть гуд, мне же нужно просто просматривать открытые сессии не изменяя параметров...
пример:
my @session_ids=$D->column("SELECT id FROM sessions");
map
{
my $session = new CGI::Session("driver:PostgreSQL", $_, {Handle=>$dbh, TableName=>\'sessions\'});
my $data = $session->retrieve($_);
print "Data:", Dumper $data, "\\n";
$session->close()
} @session_ids;
при таком раскладе... atime все же меняеться... :(
-
При new CGI::Session у тебя стартует новая сессия. Я тебе ссылку дал на выборку, напиши свой врапер к CGI::Session.
-
NeoNox
ну вообщем я уже этим занялся... :)
оставив некчемные попытки выжать это из CGI::Session...
P.S. Спасиб.