Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Вопрос знатокам Перла   Dugar Bayartuev   29 Sep 2001 17:17:42 
 Вопрос знатокам Перла   Alexander Bolotnov   29 Sep 2001 23:48:11 
 Re: Вопрос знатокам Перла   Konstantin Stupnik   01 Oct 2001 11:47:09 
Архивное /ru.perl/32973bb60422.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional