perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5310
davon online: 1
weitere User: 26
Click for quality!




10.09.2010 / 05:29

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragPasswortabfrage
Seitenanfang
Ich habe eine einfache Passwortabfrage geschrieben, die generell auch funktioniert. Zumindest, wenn man die Fragen beantwortet, die man eingegeben hat. Gebe ich aber ein falsches Passwort und einen falschen Usernamen ein, bekomme ich zusätzliche Fehlermeldungen, die ich nicht finden kann. Kann mir jemand weiterhelfen?
#!/usr/bin/perl -w

%passwords = (
"Paul" => "Hund",
"Otto" => "Katze",
"Peter" => "Maus",
"Hans" => "Vogel",
"Karl" => "Pferd");

print "\nBitte geben Sie Ihren Usernamen ein:\n";
$username = <STDIN>;
chomp $username;

print "\nBitte geben Sie Ihr Passwort ein:\n";
$passwort = <STDIN>;
chomp $passwort;

if($passwort eq $passwords{$username})
{
print "Herzlich Willkommen, $username!\n";
}
else
{
print "Das Passwort $passwords{$username} ist nicht korrekt!\n";
while($passwort ne $passwords{$username})
{
print "Bitte versuchen Sie es noch einmal:\n";
$passwort = <STDIN>;
chomp $passwort;
}
}

Datum: 11.10.2005-07:27

Beitragre: Passwortabfrage
Seitenanfang
WELCHE Fehlermeldungen bekommst du?

Datum: 11.10.2005-08:34

Beitragre: Passwortabfrage
Seitenanfang
Ich bekomme folgende Fehlermeldungen:
Use of uninitialized value in string eq at loesung4.pl line 18, <STDIN> line 2.

Use of uninitialized value in concatenation (.) or string at loesung4.pl line 24
, <STDIN> line 2.

Das Passwort ist nicht korrekt!
Use of uninitialized value in string ne at loesung4.pl line 25, <STDIN> line 2.

Datum: 11.10.2005-21:35

Beitragre: Passwortabfrage
Seitenanfang
Diese Warnung (nein, es ist keine Fehlermeldung, nur eine Warnung) kann eigentlich nur kommen, wenn Du einen nicht existierenden Benutzernamen oder kein Passwort eingegeben hast.

Daher auch mein vorheriger Hinweis mit exists.

Datum: 11.10.2005-22:33

Beitragre: Passwortabfrage
Seitenanfang
Hi Cremator,
Vielen Dank! Ich werds jetzt mal versuchen....!

Datum: 12.10.2005-07:10

Beitragre: Passwortabfrage
Seitenanfang
Aehm... Du solltest noch mit exists($passwords{$username}) pruefen ob dein Benutzer ueberhaupt existiert.

Hashes haben die bloede Angewohnheit Schluessel automatisch zu erzeugen, wenn diese nicht existieren. Hier passiert dies in der Zeile if($passwort eq $passwords{$username}).

Beim zweiten Versuch hat man dann einen existierenden Benutzernamen mit einem leeren Passwort...

Datum: 11.10.2005-12:08

Beitragre: Passwortabfrage
Seitenanfang
Ich habs:
#!/usr/bin/perl -w

my %passwords = (
"Paul" => "Hund",
"Otto" => "Katze",
"Peter" => "Maus",
"Hans" => "Vogel",
"Karl" => "Pferd");

print "\nBitte geben Sie Ihren Usernamen ein:\n";
my $username = <STDIN>;
chomp ($username);

print "\nBitte geben Sie Ihr Passwort ein:\n";
my $passwort = <STDIN>;
chomp ($passwort);

if (exists $passwords{$username}){

if($passwort eq $passwords{$username}){
print "Herzlich Willkommen, $username!\n";
} #if

else
{
print "Das Passwort $passwords{$username} ist nicht korrekt!\n";
} #else

} #if

else
{
print "Kenne niemanden mit dem Usernamen $username.\n";
} #else

Datum: 12.10.2005-09:42

-






-
-