PERL ---» Passwort/Login auslesen ok, aber noch ein anderes Problem
Thomas Haxmer
Hi!
Ich habe ein Problem!
Ich will ein Passwort und Login aus einer Datei (Name= database) auslesen.Das geht auch so halbwegs. Allerdings ist das Problem, dass ich es nicht überprüfen kann bzw. ich jedesmal die falsche Ausgabe bekomme: Der Skript:
######## START ########
sub login{
$rein = $FORM{'logon'};
open (FILE, 'database');
@database = <FILE>;
close (FILE);
print "Content-type: text/html\n\n";
foreach $line (@database) {
@dataline = split(/|/,$line);
if ($rein =~ /$dataline[0]/)
{
if ($FORM{'logon'} eq $dataline[0] && $FORM{'passwort'} eq $dataline[9]){
print "OK";
}
else{
print "Falsches LOGIN\n<br>";
print "$dataline[0]\n<br>";
print "$dataline[9]";
}
}
}
exit;
######## ENDE ##########
In der database steht: test| | | | | | |test
Der Skript ließt zwar das Login und Passwort richtig aus ich kann aber nicht "winloggen" ---> OK. Ausser bei der letzten Zeile! Wenn ich das Passwort der Letzten Zeile eingebe gibts kein Problem!? Alle vorderen geht nicht. ließt zwar richtig aus, aber . . .
Bitte um HILFE!
Danke schon jetzt!!
MfG Thomas
Hallo auch!
@dataline = split(/|/,$line);
[...]
Der Skript ließt zwar das Login und Passwort richtig aus ich kann aber nicht "winloggen" ---> OK. Ausser bei der letzten Zeile! Wenn ich das Passwort der Letzten Zeile eingebe gibts kein Problem!? Alle vorderen geht nicht. ließt zwar richtig aus, aber . . .
Dann hast Du wohl die Returns übersehen! Also für jede einzelne Zeile (bis auf die letzte) enthält das Passwort ($dataline[9]) zusätlich das Return.
Diese Return solltest Du vorm split entfernen:
chop($line);
@dataline = split(/|/,$line);
Viel Erfolg,
Jörk
Hallo auch!
@dataline = split(/|/,$line);
[...]
Der Skript ließt zwar das Login und Passwort richtig aus ich kann aber nicht "winloggen" ---> OK. Ausser bei der letzten Zeile! Wenn ich das Passwort der Letzten Zeile eingebe gibts kein Problem!? Alle vorderen geht nicht. ließt zwar richtig aus, aber . . .
Dann hast Du wohl die Returns übersehen! Also für jede einzelne Zeile (bis auf die letzte) enthält das Passwort ($dataline[9]) zusätlich das Return.
Diese Return solltest Du vorm split entfernen:
chop($line);
@dataline = split(/|/,$line);
Viel Erfolg,
Jörk