Hallo Zaphod,
erst mal Danke für die schnelle Antwort. Ich habe keinen Tipp Fehler gefunden. Ich stelle mal die ganzen Anweisungen für das Gästbuch ein, vielleicht fällt ja jemandem was auf. Es funktioniert immer noch nicht das die Gästebucheinträge in der count.log auflaufen und die gezählten Werte ausgelesen werden.
Wenn nicht, dann werde ich mich nach einem anderem Gästbuch umsehen müssen. Also evtl findet ja jemand was.
Gruß,
Waldläufer
# Geben Sie den Pfad zur Datei guest.log an
# Diese Datei beinhaltet alle Einträge zu Ihrem Gästebuch
$guest_log = "guest.log";
# Geben Sie den Pfad zu dem Gästebuch-Script an
$guest_cgi = "http://localhost/cgi-bin/guestbook.cgi";
# Benutzen Sie diese Sektion für Meta-TAGS
$meta = "
";
# Geben Sie hier ihre BODY-Informationen an
$body = "
";
# Geben Sie hier den Kopf Ihrer Gästebuches an.
# Dies sind die ersten Zeilen, die in Ihrem Gästebuch angezeigt werden.
$top_of_page = "
NIKLAN´s Gaestebuch
Tragen Sie sich in mein
Gästebuch ein.
";
# Geben Sie hier die Informationen für den Fuss Ihres Gästebuches an.
$bottom_of_page = "
Copyright 1996/1997 Guestbook Central
Ins Deutsche übersetzt und erhalten bei Irgendwer
";
# Möchten Sie, dass die eMail-Adresse des Posters als Hyperlink dargestellt wird? 1 = JA
$hyper_link = 1; # 1 = JA; 0 = NEIN
# Dürfen die Postings HTML-Code enthalten? 1 = JA
$allow_html = 1; # 1 = JA; 0 = NEIN
# Wie sollen die Einträge voneinander getrennt sein? 1 =
(Absatz) 0 =
(Linie)
$seperate = 1; #1 =
0 =
# Möchten Sie einen Zugriffszähler auf Ihrem Gästebuch? - 1 = JA
$counter = 1; # 1 = JA; 0 = NEIN
# Geben Sie den Pfad zur Datei count.log an
$count_log = "
http://localhost/cgi-bin/count.log";
# Im folgenden werden Schriftfarben und -grösse, wie auch die Counterinformationen festgelegt.
$font_color = "
";
$font_size = "";
$center = 1;
$before = "Sie sind Besucher Nummer ";
$after = "auf meiner Gästebuchseite.";
#############################################
# Eingaben aufnehmen
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
# Splitten der Namens-Variablen
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
# Webunspezifische Zeichen filtern
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s///g;
if ($allow_html != 1) {
$value =~ s/]|\n)*>//g;
}
$FORM{$name} = $value;
}
if ($FORM{'new'}){
&no_name unless $FORM{'name'};
&no_comments unless $FORM{'comments'};
&no_email unless $FORM{'emailadd'};
&no_email unless $FORM{'emailadd'};
&no_valid_email unless (($FORM{'emailadd'} eq '') || (($FORM{'emailadd'} ne '') &&
($FORM{'emailadd'} =~ /\w*@\w*/)));
}
&GetFileLock;
print "Content-Type: text/html\n\n";
if ($FORM{'new'}){ #Nun haben wir einen neuen Eintrag
open(GUESTLOG, "$guest_log");
@FILE = \n";
if ($center eq '1'){
print "";
}
print "
$bottom_of_page";
}
########################
sub no_comments {
print "Content-type: text/html\n\n";
print "\n";
print "
Sie haben das Kommentarfeld leer gelassen.
\n";
print " Benutzen Sie bitte den
BACK BUTTON um zurückzukehren\n";
print " und es erneut zu versuchen.
\n";
print "\n\n";
exit;
}
sub no_name {
print "Content-type: text/html\n\n";
print "
\n";
print "
Sie haben vergessen das Namensfeld auszufüllen.
\n";
print " Benutzen Sie bitte den
BACK BUTTON um zurückzukehren\n";
print " und es erneut zu versuchen.
\n";
print "\n\n";
exit;
}
sub no_email {
print "Content-type: text/html\n\n";
print "
\n";
print "
Sie haben das Feld mit der eMail-Adresse leer gelassen
\n";
print " Benutzen Sie bitte den
BACK BUTTON um zurückzukehren\n";
print " und es erneut zu versuchen.
\n";
print "\n\n";
exit;
}
# Subroutine für Fehler in der eMail-Adresse
sub no_valid_email
{
print "Content-type: text/html\n\n";
print "
\n";
print "\n";
print "
Falsche eMail-Adresse
\n";
print "Sie müssen eine korrekte eMail-Adresse angeben.\n";
print " Benutzen Sie bitte den
BACK BUTTON um zurückzukehren\n";
print " und es erneut zu versuchen.
\n";
print "\n";
exit;
}
if ($FORM{'new'} && $mail eq '1') {
open (MAIL, "|$mailprog $recipient") || die "Can't open $mailprog!\n";
print MAIL "Reply-to: $FORM{'emailadd'} ($FORM{'name'})\n";
print MAIL "From: $FORM{'emailadd'} ($FORM{'name'})\n";
print MAIL "Subject: $subject\n";
print MAIL "$FORM{'comments'}\n";
close (MAIL);
}
if ($FORM{'new'} && $reciept eq '1') {
$emailadd = $FORM{'emailadd'};
open (MAIL, "|$mailprog $emailadd") || die "Can't open $mailprog!\n";
#print MAIL "Reply-to: $recipient\n";
print MAIL "From: $recipient ($title)\n";
print MAIL "Subject: $reply_subject\n";
print MAIL "$mail_body\n";
close (MAIL);
}
&ReleaseFileLock;
#######################################################################
# FileLock #
#######################################################################
sub GetFileLock {
local ($lock_file) = 'file.lock';
local ($endtime);
$endtime = 10;
$endtime = time + $endtime;
# Wir setzen die Endzeit auf 10 Sekunden wartezeit
while (-e $lock_file && time # Do Nothing
}
open(LOCK_FILE, ">$lock_file");
# flock(LOCK_FILE, 2); # 2 exclusively locks the file
} # ende von FileLock
#######################################################################
# ReleaseFileLock #
#######################################################################
sub ReleaseFileLock {
local ($lock_file) = 'file.lock';
# 8 unlocks the file
# flock(LOCK_FILE, 8);
close(LOCK_FILE);
unlink($lock_file);
} # end of ReleaseFileLock
exit;