Hi Struppi,
Hier das beispiel:
sub check_log {
$logfile = "/home/guestbook/contlog.txt";
open(LOG,"+<$logfile") || &dead;
flock(LOG,LOCK_EX);
while (<LOG>){
&dead if /$FORM{'username'}/;
}
seek (LOG, 0, 2);
print LOG "$FORM{'username'}\n";
close (LOG) || &dead;
}sub dead {
print "Content-type: text/html\n\n";
print "<center>Error: hello,you have already an entry in our guestbook\n";
print "<hr width='100%'></center>\n";
exit;
}Wo hast du das denn her?
Ich weiss ,sehr alt sogar,ein Matthew M. Wright script,welches ich kurz um ein paar details erweitert habe,z.B. verhinderung doppel(oder ungültige)einträge im gästebuch.Use strict..war mir zu aufwendig,da es nicht mein webserver ist,wo ich sowieso kein errorlog einsehen kann.
kein strict, kein CGI.pm, veraltete Schreibweise für Funktionsaufrufe und darüber hinaus wird hier die Datei zum lesen und schreiben geöffnet, dabei würde ein schreibendes öffnen und anhängen reichen (open LOG, ">$logfile")
wieso das?Ich muss doch erst nach einem eintrag suchen in der LOG,bevor in die LOG geschrieben wird.
Naja, und das deine Fehlerausgabe nicht unbedingt stimmt hat dir ja schon Siechfred erklärt.
Die fehler ausgabe sollte gleichzeitig das script beenden,mit einer mitteilung an den benutzer.
Gruss
Alain