|
|
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
|