|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Vasilii Piskunov 2:5069/20.7 30 Apr 2001 15:28:53 To : All Subject : картики скрипт не грузт -------------------------------------------------------------------------------- [SKIP] ;= ) Имеется данный скрипт (см ниже), запускаю его(на Апаче) а там сабж. Картинки лежат в той же папке, что и скрипт. Что можно предпринять? ===+Hачать+-==== #!/usr/bin/perl ########################################################################## # WWWForum ver.1 # # (C) Burtovoi Vadim # # chimbion@hotmail.com # ########################################################################## ########################################################################## $Password="password"; #Пароль для администрирования $DataFile="msg.txt"; #Файл, где будут хранится сообщения $BackGround="pastel.jpg"; #Фон $Image="blue_bal.gif"; #Шарик $Time="GMT"; #Время ########################################################################## $ScriptURL = "http://localhost/cgi-bin/forum/board.cgi"; &Parse; &Date; print "Content-type: text/html\n\n"; if($FORM{'action'} eq 'add') { &Add; } elsif($FORM{'action'} eq 'showmsg') { &ShowMsg; } elsif($FORM{'action'} eq 'pswd') { &Passwd; } elsif($FORM{'action'} eq 'admin') { &Admin; } elsif($FORM{'action'} eq 'delete') { &Delete; } else {&Show}; exit; sub Date { ($Second, $Minute, $Hour, $DayOfMonth, $Month, $Year, $Weekday, $DayOfYear, $IsDST) = localtime(time); $RealYear = $Year + 1900; $Month++; if($Month < 10) {$Month = "0" . $Month} if($DayOfMonth < 10) {$DayOfMonth = "0" . $DayOfMonth} if($Hour < 10) {$Hour = "0" . $Hour} if($Minute < 10) {$Minute = "0" . $Minute} if($Second < 10) {$Second = "0" . $Second} $date = "$DayOfMonth-$Month-$RealYear"; $time = "$Hour:$Minute:$Second $Time"; } sub Parse { local($name, $value, $buffer, $pair, $hold, @pairs); $buffer = $ENV{'QUERY_STRING'}; @pairs = split(/&/, $buffer); $total = 0; foreach $pair (@pairs) { $total++; ($name, $value) = split(/=/, $pair); $value=~tr/+/ /; $value=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $value=~tr/`/'/; $value=~tr/\n/ /; $value=~ s/<!--(.|\n)*-->//g; $value=~ s/<!([^>]|\n)*>//g; $FORM{$name} = $value } } sub Add{ if ($FORM{'name'} eq ''){ $Problem="Вы не ввели ник.<br>Hажмите кнопку назад вашего браузра и введите ник.\n"; &Error; exit; }; if ($FORM{'theme'} eq ''){ $Problem="Вы не ввели тему сообщения.<br>Hажмите кнопку назад вашего браузра и введите тему сообщения.\n"; &Error; exit; }; if ($FORM{'text'} eq ''){ $Problem="Вы не ввели сообщение.<br>Hажмите кнопку назад вашего браузра и введите сообщение.\n"; &Error; exit; }; open (DATA,$DataFile); @msg=<DATA>; close(DATA); $c=@msg + 1; open (DATA,">$DataFile"); $k=1; foreach $m (@msg){ if ($k == $FORM{'str'}) {print DATA "$FORM{'sp'}`$FORM{'theme'}`$FORM{'name'}`$FORM{'email'}`$date $time`$FORM{'text'}\n"}; $k++; print DATA $m; }; if ($FORM{'str'}==$c) {print DATA "$FORM{'sp'}`$FORM{'theme'}`$FORM{'name'}`$FORM{'email'}`$date $time`$FORM{'text'}\n"}; close(DATA); &PrintHead; $Head="Сообщение добавлено"; &PrintTableHeader; print "Ваше сообщение добавлено.<br>\n"; print "Кликните <a href=$ScriptURL?>сюда</a> чтобы перейти к списку сообщений\n"; &PrintTableFooter; &PrintFooter; }; sub Show{ &PrintHead; open (DATA,$DataFile); @msg=<DATA>; $m=@msg; close(DATA); $Head="Сообщения"; &PrintTableHeader; $num=1; foreach (@msg){ ($sp,$theme,$name,$email,$time,$text)=split(/`/); for ($i=1;$i<$sp;$i++){print"     "}; print "<img src=\"$Image\"></img><a href=$ScriptURL?action=showmsg&num=$num>$theme</a>"; if ($email eq '') {print" $name "} else {print" <a href=mailto:$email> $name</a> "}; print "<font size=-5>$time</font><br>\n"; $num++; }; print "</td></tr></table><br><br>\n"; $Head="Добавить новое сообщение"; &PrintTableHeader; print "<form action=$ScriptURL method=get>\n"; print "<input type=hidden name=action value=add></input>"; print "<input type=hidden name=sp value=1></input>\n"; print "<input type=hidden name=str value=1></input>"; print "<table align=center>\n"; print "<tr><td align=right>*Hик: </td><td><input type=text name=name></input>   E-mail: <input type=text name=email></input></td></tr>\n"; print "<tr><td align=right>*Тема:</td><td><input type=text size=50 name=theme></input></td></tr>\n"; print "<tr><td colspan=2 align=center>*Сообщение:<br><textarea name=text cols=64 rows=6></textarea></td></tr>\n"; print "<tr><td colspan=2 align=center><input type=submit value=Добавить></input>\n"; print " <input type=reset value=Очистить></input></td></tr></table></form>\n"; &PrintTableFooter; print "<center><a href=$ScriptURL?action=pswd>Администрирование</a>"; &PrintFooter; }; sub ShowMsg{ &PrintHead; open (DATA,$DataFile); @msg=<DATA>; $c=@msg; close(DATA); $i=1; foreach (@msg){ if ($i==$FORM{'num'}) { ($sp,$theme,$name,$email,$time,$text)=split(/`/); $Head="Сообщение от $name оставлено <font size=-2>$time</font>"; &PrintTableHeader; print "$text"; }; $i++; }; print "</td></tr></table><br><br>\n"; $Head="Ответ"; &PrintTableHeader; print "<form action=$ScriptURL method=get>\n"; print "<input type=hidden name=action value=add></input>"; $t=$sp+1; print "<input type=hidden name=sp value=$t></input>\n"; $t=$FORM{'num'}+1; print "<input type=hidden name=str value=$t></input>"; print "<table align=center>\n"; print "<tr><td align=right>*Hик: </td><td><input type=text name=name></input>   E-mail: <input type=text name=email></input></td></tr>\n"; print "<tr><td align=right>*Тема:</td><td><input type=text size=50 name=theme value=\"Re:$theme\"></input></td></tr>\n"; print "<tr><td colspan=2 align=center>*Сообщение:<br><textarea name=text cols=64 rows=6></textarea></td></tr>\n"; print "<tr><td colspan=2 align=center><input type=submit value=Добавить></input>\n"; print " <input type=reset value=Очистить></input></td></tr></table></form>\n"; &PrintTableFooter; $t=$FORM{'num'}-1; print "<center>"; if ($FORM{'num'}!=1){print "<a href=$ScriptURL?action=showmsg&num=$t>Предыдущее сообщение</a>\n"}; print "   <a href=$ScriptURL>Список сообщений</a>\n"; $t=$FORM{'num'}+1; if ($FORM{'num'}!=$c){print "   <a href=$ScriptURL?action=showmsg&num=$t>Следующее сообщение</a>\n"}; &PrintFooter; }; sub Passwd{ &PrintHead; $Head="Введите пароль"; &PrintTableHeader; print "<center><form alignaction=$ScriptURL><input type=hidden name=action value=admin></input><input type=password name=pas></input><br><input type=submit value=Вход></input></form>"; print "Кликните <a href=$ScriptURL>сюда</a>, чтобы перейти к списку сообщений."; &PrintTableFooter; &PrintFooter; }; sub Admin{ if ($FORM{'pas'} eq $Password){ open (DATA,$DataFile); @msg=<DATA>; $m=@msg; close(DATA); &PrintHead; $Head="Администрирование"; &PrintTableHeader; print "<form action=$ScriptURL>"; $num=1; foreach (@msg){ ($sp,$theme,$name,$email,$time,$text)=split(/`/); print "<input type=checkbox name=$num></input>"; for ($i=1;$i<$sp;$i++){print"     "}; print "<img src=\"$Image\">$theme $name <font size=-2>$time</font><br>\n"; $num++; }; print "<center><input type=submit value=Удалить></input> <input type=reset value=Очистить></input> <input type=hidden name=action value=delete></input>"; print "<br>Кликните <a href=$ScriptURL>сюда</a>, чтобы перейти к списку сообщений."; print "</td></tr></table><br></form>\n"; &PrintFooter; } else{ $Problem="Hеверный пароль. Hажмите кнопку Hазад вашего браузера и попробуйте еще раз."; &Error; }; }; sub Delete{ open (DATA,$DataFile); @msg=<DATA>; close(DATA); $c=@msg + 1; open (DATA,">$DataFile"); $k=1; foreach $m (@msg){ if ($FORM{$k} eq '') {print DATA "$m"}; $k++; }; &PrintHead; $Head="Готово"; &PrintTableHeader; print "Выбраные вами сообщения удалены. Кликните <a href=$ScriptURL>сюда</a>, чтобы перейти к списку сообщений."; &PrintTableFooter; &PrintFooter; }; sub Error{ &PrintHead; $Head="Ошибка"; &PrintTableHeader; print "$Problem\n"; &PrintTableFooter; &PrintFooter; }; sub PrintHead{ print "<html><head><title>Форум</title></head><body background=\"$BackGround\" alink=#0000CC link=#0000CC vlink=#0000CC>\n"; }; sub PrintFooter{ print "</body></html>"; }; sub PrintTableHeader{ print "<table cellspacing=0 width=550 align=center border=1><tr><td bgcolor=#0000CC align=center><font color=#FFFFFF><b>$Head</b></font></td></tr>\n"; print "<tr><td>\n"; }; sub PrintTableFooter{ print "</td></tr></table>"; }; ====+Все+===== Bye ... --- WP/95 Rel 1.78E (215.0) Reg. * Origin: Каждому Биллу по Гейтсу (2:5069/20.7) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/27896892fb81.html, оценка из 5, голосов 10
|