Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Gästebuch





Frage

Hallo, ich habe mir ein Gästebuch heruntergeladen. Doch wenn ich keinen name usw eingebe, erscheinen keine Fehlermeldungen. Ich möchte gerne Fehlermeldungen in das Script einbauen, doch wie mache ich daß? Hier ist der Quelltext: #!/usr/bin/perl # # Version 2.0 # # Gaestebuch von Markus ... # Erweitert von Sandro Sonntag (kontakt@ultrasonic-net.de/www.ultrasonic-net.de) ################################################################ # # Fixes: # # - Zeilenumbrüche jezt auch sichtbar # - Globale Header und Footer Variaben mit Ermoeglichung von Sonderzeichen ("@) # # - Erweiterung um Admin Modus (Ediren und Loeschen von Datensaetzen) # # Um sich als Admin einzuloggen "jgast.pl?Mode=Admin" eingeben ! # Bitte ändern Sie das Passwort ################################################################# # # Umgebungsvariablen (Bitte anpassen) ################################################################# $scriptname = "gb.pl"; #(Programmdatei) $datainame = "gb.dat"; #Datenbank (wird automatisch erstellt!) $login = "pwd"; #Passwort fuer Adminbereich $z = "0"; # Heder HTML des Guestbooks #Bitte ändern !!! my $Header = <<"EOM"; Guestbook
Info: EOM # Hier wird der die Anzahl der Einträge angezeigt (deshab gesplittet) my $Header2 = <<"EOM";
Dein Name: Deine Email:
Deine Homepage:
Dein Kommentar:

EOM #Header HTML des Admin Bereichs my $a_header = <<"EOM"; Guestbook

Administration des Guestbooks:

EOM #Footer HTML des Admin Bereiches my $a_footer = <<"EOM";
EOM # Sie habens geschafft ######################################################################################### # Passwortabfrage HTML des Admin Bereiches my $a_passwort = <<"EOM";
Bitte geben Sie das Passwort ein:


EOM # Proccessing Unit ############################################################################################################# if ($ENV{REQUEST_METHOD} eq "GET") { $buffer = $ENV{QUERY_STRING}; } else { read(STDIN, $buffer, $ENV {CONTENT_LENGTH}); } @nvpairs = split(/&/,$buffer); foreach $pair (@nvpairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $in{$name} = $value; } print "Content-type: text/html \n\n"; # Soll die Systemzeit uebergeben werden oder die Gepostete Zeit ? if ($in{year} ne "") { $year=$in{year}; $month=$in{month}; $mday=$in{mday}; $hour=$in{hour}; $min=$in{min}; $sec=$in{sec}; } else { $time = time; ($mday,$month,$year,$hour,$min,$sec) = (localtime($time))[3,4,5,2,1,0]; $month = $month+1; $year = $year+1900; if ($month < 10){$month = "0$month"}; if ($mday < 10){$mday = "0$mday"}; if ($sec < 10) {$sec = "0$sec"}; if ($min < 10) {$min = "0$min"}; if ($hour < 10){$hour = "0$hour"}; } $ausgabe = "$year$month$mday$hour$min$sec|$in{author}|$in{email}|$in{content}|$in{url}"; $ausgabe =~ s/\n/³/g; $ausgabe =~ s/&/&/g; $ausgabe =~ s/>/g; $ausgabe =~ s/"; if ($a > $l){print "<< Vorige Seite";}else{ print " Vorige Seite";}; print "   "; if ($a+$l-11 <= $l){print " Nächste Seite >>";}else{ print " Nächste Seite";}; print "


"; $z=$z+1; open (DATA,$datainame); @data = ; close (DATA); foreach $line (@data) { $line =~ s/\n//g; $line =~ s/³/
/g; $line =~ s/&/&/g; $line =~ s/>/g; $line =~ s/ $a-11){if ($z < $a){ print "
";};};}; print "
$z Datum: $jahr-$monat-$tag $stunden:$minuten:$sekunden
"; print "$author ("; if ($email eq ""){print "keine E-mail";}else{ print "$email ";}; print " / "; if ($url ne "http://") {print "$url";}else {print " keine Homepage ";}; print ") schrieb:

$content

"; print "
"; if ($a > $l){print "<< Vorige Seite ";}else{ print " << Vorige Seite";}; print "   "; if ($a+$l-11 <= $l){print " Nächste Seite >>

";}else{ print " Naechste Seite >>

";}; sub AddEntry { local($Entry) = @_; $check = 0; open (DATA,$datainame); @data = ; close (DATA); open (DATA,">$datainame"); foreach $line (@data) { if ($line > $Entry) { print DATA "$line"; } else { if ($check == 0) { print DATA "$Entry"; print DATA "$line"; $check = 1; } else { print DATA "$line"; } } } if ($check == 0) { print DATA "$Entry"; } close (DATA); }; sub zahler{ open (DATA,$datainame); @data = ; close (DATA); foreach $line (@data) { $line =~ s/\n//g; $line =~ s/&/&/g; $line =~ s/>/g; $line =~ s/"; print $a_passwort; print $a_footer; } } else { print $a_header; print $a_passwort; print $a_footer; } } sub admin # Der Admin Bereich { print $a_header; print "
"; if ($z==0) { print "
Keine Datensaetze vorhanden !!!
"; } else { if ($a > $l){print "<< Vorige Seite ";}else{ print " << Vorige Seite";}; print "   "; if ($a+$l-11 <= $l){print " Naechste Seite >>";}else{ print " Naechste Seite >>";}; } print "


"; $z=$z+1; open (DATA,$datainame); @data = ; close (DATA); foreach $line (@data) { $line =~ s/\n//g; $line =~ s/³/
/g; $line =~ s/&/&/g; $line =~ s/>/g; $line =~ s/ $a-11) {if ($z < $a){ print "
"; print ""; print ""; } } }; print "
$z Datum: $jahr-$monat-$tag $stunden:$minuten:$sekunden
"; print "$author ("; if ($email eq ""){print "keine E-mail";}else{ print "$email ";}; print " / "; if ($url ne "http://") {print "$url";}else {print " keine Homepage "}; print ") schrieb:

$content

"; print "
"; print ""; print ""; print ""; print ""; print "
"; print "
"; print $a_footer; } sub edit # Hier werden die Datensaetze Ediert { if ($in{author} eq "") { print $a_header; open (DATA,$datainame); @data = ; close (DATA); foreach $line (@data) { $line =~ s/\n//g; $line =~ s/³//g; $line =~ s/&/&/g; $line =~ s/>/g; $line =~ s/
"; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print "Eintrag Nr: $z"; print ""; print "

Name:
Email:
"; print "
Homepage:
"; print "
Kommentar:
"; print "

"; print "
"; print $a_footer; }; $z=$z - 1; }; } else { local($Entry) = @_; open (DATA,$datainame); @data = ; close (DATA); open (DATA,">$datainame"); foreach $line (@data) { if ($z eq $in{number}) { print DATA "$Entry"; } else { print DATA "$line"; } $z=$z-1; } close (DATA); &zahler; goto &admin; } } sub del # Hier werden Die Datensaetze geloescht { local($Entry) = @_; open (DATA,$datainame); @data = ; close (DATA); open (DATA,">$datainame"); foreach $line (@data) { if ($z eq $in{number}) { } else { print DATA "$line"; } $z=$z-1; } close (DATA); &zahler; goto &admin; } Über eine Antwort würde ich mich sehr freuen. Gruß Udo

Antwort 1 von Gerri

Scha Dir doch ein anderes Gästebuch an, wie das UGB von Ultima.

Das ist recht gut und kostet nichts.

Auf http://www.scriptkeeper.de findest Du noch ein paar Erweiterungen für das Script.

Da das Script leider nicht mehr downgeloadet werden kann, maile ichs Dir rasch.

Antwort 2 von S. Ney

Beim senden s.o. sind ein paar Zeichen verschwunden!!!!
$in{e_email} einfache Anfuehrungsstriche vor und nach e_mail!!
Mal testen, hier waren sie drin.

Sind nicht durch die malicous Code Prüfung durchgekommen. Fehlt in Deinem Skript uebrigens auch!!!
Ausserdem ist das Eingebefenster hier zu klein!

Gruss

Stefan

Antwort 3 von S. Ney

Beim senden s.o. sind ein paar Zeichen verschwunden!!!!
$in{e_email} einfache Anfuehrungsstriche vor und nach e_mail!!
Mal testen, hier waren sie drin.

Sind nicht durch die malicous Code Prüfung durchgekommen. Fehlt in Deinem Skript uebrigens auch!!!
Ausserdem ist das Eingebefenster hier zu klein!

Gruss

Stefan

Antwort 4 von Udo-Luetkemeier

Hallo,

wo genau soll ich daß einfügen @S. Ney?

Gruß

Udo

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: