Wie uebergebe ich eine Fehlermeldung an meine HTML Oberflaeche
katrin
- perl
0 Siechfred0 Helmut Weber0 Michael Schröpl0 katrin
0 Andres Freund
Hallo zusammen!
Mein Problem ist folgendes: ueber eine HTML-Oberflaeche gibt mir eine user einen
Pfad an ($ort). Ich moechte mit meinen Skript in die angegebene Directory gehen und die
Files dort einlesen. Hat sich der user verschrieben, moechte ich ihm auf der
HTML Oberflaeche dies angeben. Ich habe dies zuerst wie folgt versucht:
#!/usr/bin/perl
use File::Copy;
print "Content-type:text/html\n\n";
print "<html><head><title>Maske</title></head>\n";
print "<body>\n";
#usw, die Eingabe vom user wird korrekt eingelesen.
opendir(PDB, "$ort") || die "$ort existiert nicht\n";
usw
print "</body></html>";
Mit "die" erscheint die Fehlerangabe aber nicht auf der HTML-Oberflaeche, sondern
nur auf meiner shell, wenn ich das Programm von dort starte. Damit kann ich dem
user seinen Fehler nicht mitteilen. Dann habe ich es mit
opendir(PDB, "$ort") || {print "$ort existiert nicht\n"; exit(0);};
versucht, aber so geht es auch nicht. Diverse andere Versuche (andere Klammerung,
"die" statt "exit" usw.) schlugen auch fehl und mir fehlt die Programmiererfahrung um
den Fehler in meinen Ansaetzen zu finden. Mein Problem ist nicht, ueberhaupt eine
Ausgabe auf meiner html-Seite zu erzeugen sondern nur, die Fehlermeldung dort darzustellen.
Ich hoffe, ihr koennt mir weiterhelfen.
Ganz lieben Dank
Gruss Katrin
Hallöle,
Mein Problem ist folgendes: ueber eine HTML-Oberflaeche gibt mir eine user einen
Pfad an ($ort). Ich moechte mit meinen Skript in die angegebene Directory gehen und die
Files dort einlesen. Hat sich der user verschrieben, moechte ich ihm auf der
HTML Oberflaeche dies angeben. Ich habe dies zuerst wie folgt versucht:
[...]
opendir(PDB, "$ort") || die "$ort existiert nicht\n";
Probiere statt opendir mal diese Variante:
unless ( -d $ort ) {
print "<p>Das Verzeichnis $ort existiert nicht</p>\n";
}
http://selfhtml.teamone.de/cgiperl/funktionen/dateiverwaltung.htm#TabelleDateitestoperatoren
Viele Grüße
Torsten
Hallo Katrin,
wenn Du in dein Skript folgendes Modul einbindest:
use CGI::Carp qw( fatalsToBrowser );
bekommst Du alle Fehlermeldungen auf dem Browser dargestellt.
Probier es einfach mal aus!
Gruß
Helmut Weber
Hi katrin,
die "$ort existiert nicht\n";
"$!" würde eine genauere Information liefern als Dein (konstanter) Text.
Viele Grüße
Michael
Vielen Dank euch allen,
Gruss Katrin
Moin Katrin,
opendir(PDB, "$ort") || die "$ort existiert nicht\n";
Du musst als Alternative nicht die nehmen, du kannst auch einen anderen Befehl, wie etwa print, oder eine eigene Subroutine als Alternative angeben.
Grüße Andres Freund