Артем ([info]al1us) wrote in [info]ru_perl,
@ 2008-02-25 20:35:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Сессии
Кусок кода первой страницы:
my $cgi = CGI->new();
my $sid = $cgi->cookie("CGISESSID") || undef;
my $session = new CGI::Session(undef, $sid, {Directory=>"/tmp"});
   $session->expire("+15m");
   $session->param("test", 1);
   my $cookie = $cgi->cookie(CGISESSID => $session->id);
   print $cgi->header( -cookie => $cookie);

Создаю сессию, пользователь вводит данные в форму, эти данные сохраняются в сессии. Затем пользователь перенаправляется на ту же страницу, где эти данные проверяются, если все хорошо, то его направляют на другую страницу, где такой код:
my $cgi = CGI->new();
my $sid = $cgi->cookie("CGISESSID") || undef;
my $session = new CGI::Session(undef, $sid, {Directory=>"/tmp"});
my $test = $session->param("test");
if ($test) { ... }
else { return ... }

В итоге у меня создаётся 2 пустых сессии и одна с моими данными, и в итоге меня перенаправляет на самую первую страницу.
Подскажите, как исправить. Спасибо



(Post a new comment)


[info]dma
2008-02-25 07:40 pm UTC (link)
А парсить куки не надо сначала? Перед тем, как их брать?
У меня просто шелла сейчас нет, но симптомы характерные.

(Reply to this) (Thread)


[info]al1us
2008-02-26 07:19 pm UTC (link)
а как их парсить? перебирать каждый файл?

(Reply to this) (Parent)(Thread)


[info]dma
2008-02-26 07:26 pm UTC (link)
http://www.wellho.net/solutions/perl-handling-cookies-through-cgi-pm.html

а вообще - обзаведитесь perl cookbook'ом, а лучше всем Teh Perl CD Bookshelf - там дофига примеров, и очень хороших.

(Reply to this) (Parent)(Thread)


[info]al1us
2008-02-27 07:21 am UTC (link)
спасибо!

(Reply to this) (Parent)


[info]funky_dennis
2008-02-26 12:16 pm UTC (link)
$session->flush

(Reply to this)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…