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