[Perl] Warum funzt meine if-Anweisung nicht
Robert
- cgi
0 Klaus Mock0 Robert
0 Mikki0 Robert
Moin! Moin!
Ich habe folgendes Problem mit meinem Script (Perl):
Ich logge mich in einen geschützten Bereich (.htaccess) mit dem Benutzername "hans" ein und will jetzt (wenn der Benutzername = hans ist) eine, mittels CGI (Perl) generierte, Seite anzeigen lassen.
Hier die wichtigen Auszüge:
Variablendefinition:
$benutzer="$ENV{REMOTE_USER}";
$admin1="hans";
Mein Versuch:
if ($benutzer eq $admin1){&seite_anzeigen}
else {&fehler_anzeigen}
Problem:
Die If-Anweisung will einfach nicht das tun, was ich will, nämlich zu sub seite_anzeigen gehen.
Ich habe das ganze auch schon mit
unless ($benutzer eq $admin1){
&fehler_anzeigen;
next;}
&seite_anzeigen;
ausprobiert.
Wer kann mir sagen wo ich da den Fehler mache???
Schon mal vielen Dank.
Gruß
Robert
Hallo,
Mein Versuch:
if ($benutzer eq $admin1){&seite_anzeigen}
else {&fehler_anzeigen}
Die If-Anweisung will einfach nicht das tun, was ich will, nämlich zu sub seite_anzeigen gehen.
"Das Universum ist case-sensitiv" hat hier mal ein äußerst kluger Solid einmal gemeint.
Also solltest Du einmal sehen, ob $benutzer auch wirklich 'hans' als Inhalt hat, und nicht etwa 'Hans' oder, ganz gemein, 'hans ' (was aber jetzt nichts mit der case-Sensitivität des UNiversums zu tun hat).
Grüße
Klaus
...Fehler gefunden!
Der Server hat mir die Variable einfach nicht geliefert. Eigentlich tut er das schon - aber nur, wenn ich mich in einem geschützten Bereich aufhalte. Das Script lag aber dummer weise nicht in einem solchen Bereich. Daher war die Variable leer (= '').
Trozdem Danke fürs "Mitdenken"
Gruß
Robert
Moin! Moin!
Ich habe folgendes Problem mit meinem Script (Perl):
Ich logge mich in einen geschützten Bereich (.htaccess) mit dem Benutzername "hans" ein und will jetzt (wenn der Benutzername = hans ist) eine, mittels CGI (Perl) generierte, Seite anzeigen lassen.
Hier die wichtigen Auszüge:
Variablendefinition:
$benutzer="$ENV{REMOTE_USER}";
Liefert Dir der Server diese Variable denn auch??
$admin1="hans";
Mein Versuch:
if ($benutzer eq $admin1){&seite_anzeigen}
else {&fehler_anzeigen}
Ohne Semikolon???
Problem:
Die If-Anweisung will einfach nicht das tun, was ich will, nämlich zu sub seite_anzeigen gehen.
Ich habe das ganze auch schon mit
unless ($benutzer eq $admin1){
&fehler_anzeigen;
next;}
&seite_anzeigen;
ausprobiert.
Wer kann mir sagen wo ich da den Fehler mache???
Schon mal vielen Dank.
Gruß
Robert
Hi Robert,
bekommst Du denn eine Fehlermeldung oder was passiert??
Mikki
...Fehler gefunden!
Moin! Moin!
Ich habe folgendes Problem mit meinem Script (Perl):
Ich logge mich in einen geschützten Bereich (.htaccess) mit dem Benutzername "hans" ein und will jetzt (wenn der Benutzername = hans ist) eine, mittels CGI (Perl) generierte, Seite anzeigen lassen.
Hier die wichtigen Auszüge:
Variablendefinition:
$benutzer="$ENV{REMOTE_USER}";
Liefert Dir der Server diese Variable denn auch??
Eigentlich schon - aber nur, wenn ich mich in einem geschützten Bereich aufhalte. Das Script lag aber dummer weise nicht in einem solchen Bereich. Daher war die Variable leer (= '').
$admin1="hans";
Mein Versuch:
if ($benutzer eq $admin1){&seite_anzeigen}
else {&fehler_anzeigen}
Ohne Semikolon???
...die waren im Script natürlich dabei. Hab ich nur hier beim posten vergessen.
Problem:
Die If-Anweisung will einfach nicht das tun, was ich will, nämlich zu sub seite_anzeigen gehen.
Ich habe das ganze auch schon mit
unless ($benutzer eq $admin1){
&fehler_anzeigen;
next;}
&seite_anzeigen;
ausprobiert.
Wer kann mir sagen wo ich da den Fehler mache???
Schon mal vielen Dank.
Gruß
Robert
Hi Robert,
bekommst Du denn eine Fehlermeldung oder was passiert??
...keine Fehlermeldung. Das Script springt gleich zur else Anweisung (Logisch -> siehe oben).
Mikki
Wie gesagt. Problem gelöst.
Trozdem Danke fürs "Mitdenken"
Gruß
Robert