|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Dugar Bayartuev 2:5008/26.21 29 Sep 2001 17:17:42 To : All Subject : Вопрос знатокам Перла -------------------------------------------------------------------------------- Хочу я зноя атласной груди, Мы два желания в одно сольем. (К.Бальмонт) Добрых дней и ночей вам, All! Есть скрипт, который должен брать данные из формы и записывать их в БД MySQL. C БД проблем нет - все работает. Также работает скрипт если его выполнять по частям, но в совокупности он не пашет - тут наверное какая то мелочь... Посему и в БД не заносятся данные. Hиже исходники скрипта и файла шаблона: ДДД=> Выдеpнул из Windows Clipboard <=ДДД #!/usr/bin/perl use CGI qw/:standart/; use DBI; $q = new CGI; $path = "/home/mysql/cgi-bin/tpl"; $TPL_INSERT = "$path/pr-add-tpl.htm"; $cmd = $q->param("cmd"); if ($cmd ne "add") { &show_form ; } else { $dbh = DBI->connect('dbi:mysql:db_website','root',''); &add_pr; dbh->disconnect; } sub add_pr { $title = $field{'pr_title'}; $author = $field{'pr_author'}; $body = $field{'pr_body'}; $body =~ s/\r\n/<br>/g; my($sql) = "INSERT INTO tbl_news_items (col_title,col_author,col_body,col_date) VALUES (\'$title\',\'$author\',\'$body\',CURDATE())"; $rs = $dbh->do($sql); if ($@) { $rc = $dbh->rollback; } else { $rc = $dbh->commit; } print "Location: /cgi-bin/pr-list-dbi.pl\n\n"; } sub show_form { print "Content-type:text/html\n\n"; open (L, "$TPL_INSERT"); # читаем шаблон while ($line=<L>) { chomp($line); if ($line=~/\@/) { if ($line=~/\@ADD\@/) { $toadd = "pr-add-dbi.pl"; $line =~ s/\@ADD\@/$toadd/; } else { $tolist = "pr-list-dbi.pl"; $line =~ s/\@LIST\@/$tolist/; } } print "$line\n"; } close(L); } ДДД=> Game Over Windows Clipboard <=ДДД А вот и шаблон: ДДД=> Выдеpнул из Windows Clipboard <=ДДД <html> <head> <title>Add Pressreleases 2001:</title> </head> <body> <h2>Добавить релиз</h2> <table width="450" border="1" align="left" cellpadding="4" cellspacing="0"> <tr> <FORM METHOD="get" ACTION="/cgi-bin/@ADD@?cmd=add"> <td>Ваше имя: </td> <td><INPUT TYPE="text" NAME="pr_author" SIZE=35 MAXLENGTH=60></td> </tr> <tr> <td>Заголовок пресс-релиза:</td> <td><INPUT TYPE="TEXT" NAME="pr_title" SIZE=35> </td> </tr> <tr> <td>Пресс-релиз:<font color=red><b>*</b></font></td> <td><INPUT TYPE="TEXT" NAME="pr_body" SIZE=35 MAXLENGTH=50></td> </tr> <tr> <td></td> <td> <INPUT TYPE="submit" VALUE="Отправить!"><input type="reset" value=" Очистить"> </td> </tr> </FORM> </table> <br> <br><br><br><br><br><br><br> <p> <a href="/cgi-bin/@LIST@">Show the list of press releases..</a> </body> </html> ДДД=> Game Over Windows Clipboard <=ДДД Помогите кто чем может.... За сим все, All... ...искренне ваш St.BURn, бYе'ньки. ... Давно пора едрена мать умом Россию понимать! (С)И.Губерман --- * Origin: Don't cross the bridges when crossing a steam (2:5008/26.21) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/32973bb60422.html, оценка из 5, голосов 10
|