Hallo,
ich möchte das follgende Skript, das schon im Einsatz ist und also vom Grundprinzip gleich bleiben muss um ein Feature erweitern. Mithilfe des Skrips können Kommentare zu Fotos abgegeben werden. Das Problem ist nur, dass ich keine Ahnung von Perl-Programmierung habe. Ich möchte ähnlich einem Counter bei jedem abgegeben Kommentar einen Wert um eins erhöhen, dass ich bei der Fotoübersicht den Wert 'es wurden schon xxx komantare abgegeben' ausgeben kann. Ich hoffe ihr versteht was ich gerade versucht habe in Worte zu fassen und wisst einen guten Rat.
mfg Marcel
#!/usr/bin/perl
use strict;
use CGI::Carp qw(fatalsToBrowser);
use CGI;
my $cgi = new CGI;
my $page = $cgi->param('page');
BEGIN {
unless ($ENV{DOCUMENT_ROOT}) {
$ENV{DOCUMENT_ROOT} = 'dann muss man den Pfad einfach selber eingeben...';
# oder, zwar etwas unsicherer, den Script-Pfad nehmen und alles bis zum /cgi-bin übernehmen
}
}
my $path_extension;
open( F, '<./pages.txt' );
while (<F>) {
chomp;
my ($page_id, $file) = split /=/;
if ($page eq $page_id) {
$path_extension = $file;
}
}
close F;
unless ($path_extension) {
die 'Page-ID ist ungültig oder nicht eingetragen';
}
print 'Content-Type: text/html'."\015\012";
if ($cgi->param('add') != 1) {
print '
<html><head>
<link rel="stylesheet" href="../../main.css">
</head><body><center>
Ich bitte euch Beleidigungen, sexistischen Äußerungen und ähnliches zu unterlassen.<br>
<form action="/cgi-bin/newcomment.pl" method="post">
<input type="hidden" name="page" value="'.$page.'" />
<input type="hidden" name="add" value="1" />
<textarea name="comment" cols="40" rows="5"></textarea><br />
<br><input TYPE=submit SIZE="40" VALUE="Kommentar abschicken" style="width: 160px; color: black; background: #FFFFC8">
</form></body>
</html>
';
} else {
unless (-e $ENV{DOCUMENT_ROOT}.$path_extension) {
die 'Page ("'.$ENV{DOCUMENT_ROOT}.$path_extension.'") wurde nicht gefunden, falsch eingetragen?';
}
my $content;
open( F, '<'.$ENV{DOCUMENT_ROOT}.$path_extension );
while (<F>) {
$content .= $_;
}
close F;
my $comment = $cgi->param('comment');
$comment .= '<hr>';
$content =~ s/<!--CommentsOn$page-->/$comment<!--CommentsOn$page-->/msig;
open( F, '>'.$ENV{DOCUMENT_ROOT}.$path_extension );
print F $content;
close F;
print 'Location: '.$path_extension."\015\012\015\012";
}