|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Maxim Yemelyanov 2:5020/400 12 Jun 2004 13:18:33 To : Konstantin Tokar Subject : Re[2]: DBI & sessions -------------------------------------------------------------------------------- Приветствую! 12 июня 2004 г. в 11:32:57 Вы стучались к Maxim Yemelyanov: >> Чего-то я таки не понимаю с DBI. >> В одном окне есть список данных и форма для их добавления. >> Юзер сабмитит форму, в результате данные в базу попадают, а в браузере не >> рисуются. Если сделать рефреш то данные на страничке появятся. Также они >> появятся, если засабмитить форму повторно (при этом новые данные не будут >> показаны в браузере). >> Понимаю, что все просто, но где я неправ? :) >> PS. не работает ни при print redirect(...), ни при вызове процедурки показа >> страницы сразу после добавления. >> KT> Твоё письмо не содержит информации для ответа. Какое отношение DBI имеет KT> к показу на стороне клиента? Присылай сюда весь скрипт, может так будет KT> понятнее. Ок. ----cgi-скрипт: ... our $action = param('action'); print $action eq 'add' && My::Module::add_record || My::Module::draw; ----My::Module: sub add_record { $dbh->do(qq{insert into .... bla-bla}, undef ,param('foo') ,param('bar') ); $dbh->commit; return draw; # хоть draw, #return redirect ( -uri => CGI::url ); # хоть redirect - монопенисно } sub draw { my $template = new My::Template('page.tmpl'); my $sth = $dbh->prepare(...); ... заполняю список записей ... $dbh->commit; return $template->header_output; # и рисуются записи без только-что-добавленной } Такое пояснение приемлемо? Почему не видна свежедобавленная запись? Где что надо дернуть? Думал, commit после чтения может помочь. Hе спасло. -- Удачи! Максим Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.3 * Origin: Enigma Soft (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/131263a5475d4.html, оценка из 5, голосов 10
|