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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Alexey Sobolev                       2:5022/54.6    31 Jul 2001  23:48:15
 To : All
 Subject : запись в файл
 -------------------------------------------------------------------------------- 
 
 Есть скрипт гостевой книги, как сделать чтобы запись объявлений была в
 отдельный, внешний, текстовый файл?
 И еще, как сделать, чтобы сообщения удалялись по истечение определенного времени
 (например месяца).
 === Здесь начало GK.PL ===
 #!/usr/local/bin/perl
 $guestbookurl = "http://metall-torg.hut.ru/gk.htm";
 $styles_url = "http://metall-torg.hut.ru/styles.css";
 $guestbookreal = "../WWW/gk.htm";
 $cgiurl = "http://metall-torg.hut.ru/cgi-bin/gk.pl";
 &parse_form;
 sub parse_form {
  if ($ENV{'REQUEST_METHOD'} eq "POST") {$mode = 0}
  if ($ENV{'REQUEST_METHOD'} eq "GET") {$mode = 1}
  if ($mode == 0) {read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'})}
  if ($mode == 1) {$buffer = $ENV{'QUERY_STRING'}}
  @pairs = split(/&/, $buffer);
  foreach $pair (@pairs) {
   ($name, $value) = split(/=/, $pair);
   $value =~ tr/+/ /;
   $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
   $FORM{$name} = $value;
  }
 }
 &no_name("Текс объявления не был введен") unless $FORM{'comments'};
 &no_name("Вы не указали Ваше имя") unless $FORM{'realname'};
 
 open (FILE,"$guestbookreal");
 @LINES=<FILE>;
 close(FILE);
 $SIZE=@LINES;
 open (GUEST,">$guestbookreal");
 for ($i=0;$i<=$SIZE;$i++) {
  $_=$LINES[$i];
  if (/<!--go_write-->/) {
   print GUEST "<!--go_write-->\n";
   $FORM{'comments'} =~ s/\cM\n/<br>\n/g;
   print GUEST "<b><i>Продаю: $FORM{'comments'}</i></b><br>\n";
   if ($FORM{'url'}) {
    print GUEST "<a href=\"$FORM{'url'}\">$FORM{'realname'}</a>";
   } else {
    print GUEST "$FORM{'realname'}";
   }
   if ( $FORM{'username'} ){
    print GUEST " \<<a href=\"mailto:$FORM{'username'}\">";
    print GUEST "$FORM{'username'}</a>\>";
   }
   print GUEST "<br>\n";
   print GUEST " - $date<hr size=\"1\" width=\"96%\">\n\n";
  } else {
    print GUEST $_;
  }
 }
 close (GUEST);
 &print_head("Объявление добавлено");
 print "<h3 align=center>Объявление добавлено</h3><br>\n";
 print "<div align=center>\n;
 print "<table border=\"0\">\n";
 print "<tr>\n";
 print "<td>Имя</td>\n";
 print "<td>\n";
 print "$FORM{'realname'}</td>\n";
 print "</tr>\n";
 print "<tr>\n";
 print "<td>E-mail</td>\n";
 print "<td>\n";
 print "$FORM{'username'}</td>\n";
 print "</tr>\n";
 print "<tr>\n";
 print "<td>URL</td>\n";
 print "<td>\n";
 print "$FORM{'url'}</td>\n";
 print "</tr>\n";
 print "<tr>\n";
 print "<td><b>Продаю</b></td>\n";
 print "<td>$FORM{'comments'}</td>\n";
 print "</tr>\n";
 print "</table>\n";
 print "</div>\n"
 print "<p><a href=\"$guestbookurl\">Вернуться на доску</a></p>";
 &print_end;
 sub no_name {
 &print_head($_[0]);
 print "<h1 align=center>$_[0]</h1><br>\n";
 print "<form action=\"$cgiurl\" method=\"POST\">\n";
 print "<div align=center>\n";
 print "<table border=\"0\">\n";
 print "<tr>\n";
 print "<td>Ваше имя</td>\n";
 print "<td><input type=\"text\" size=\"20\"\n";
 print "name=\"realname\" value=\"$FORM{'realname'}\"></td>\n";
 print "</tr>\n";
 print "<tr>\n";
 print "<td>E-mail</td>\n";
 print "<td><input type=\"text\" size=\"20\"\n";
 print "name=\"username\" value=\"$FORM{'username'}\"></td>\n";
 print "</tr>\n";
 print "<tr>\n";
 print "<td>URL</td>\n";
 print "<td><input type=\"text\" size=\"20\"\n";
 print "name=\"url\" value=\"$FORM{'url'}\"></td>\n";
 print "</tr>\n";
 print "<tr>\n";
 print "<td colspan=\"2\"><b>Продаю</b><br>\n";
 print "<textarea name=\"comments\" rows=\"4\"\n";
 print "cols=\"38\">$FORM{'comments'}</textarea></td>\n";
 print "</tr>\n";
 print "<tr>\n";
 print "<td align=\"center\"><font size=\"2\"><input\n";
 print "type=\"submit\"\n";
 print "value=\"ДОБАВИТЬ\"></font></td>\n";
 print "<td><font size=\"2\"><input\n";
 print "type=\"reset\" value=\"ОЧИСТИТЬ\"></font></td>\n";
 print "</tr>\n";
 print "</table>\n";
 print "</div>\n";
 print "</form>\n";
 &print_end;
 exit;
 }
 
 sub print_head {
  print "Content-type: text/html";
  print "\n\n";
  print "<html>\n";
  print "<body bgcolor=\"#ffffff\" topmargin=0  marginheight=0>\n";
 } === А здесь конец GK.PL ===
 
 Alexey
 
 ---
  * Origin: Борьба за мир - это как секс за девственность (2:5022/54.6)
 
 

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

 Тема:    Автор:    Дата:  
 запись в файл   Alexey Sobolev   31 Jul 2001 23:48:15 
 Re: запись в файл   PROext   01 Aug 2001 09:52:46 
Архивное /ru.cgi.perl/27813b67457f.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional