PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Selbstgebauter Benutzeranmeldung


AMärtens
29.09.2006, 11:18:41
Hallo, ich bin gerade dabei für ein Intranet ein Benutzerlogin zu schreiben allerdings funktioniert das nicht und ich finde den Fehler nicht. Ich poste erstmal den Code, damit wir auf einem Nenner sind:

<?php

$Username=$_POST["User"];
$Passwort=$_POST["Passwort"];

$Benutzerdatei="C:\WebserverSicherheit\Benutzer.inf";
$ende='0';

echo $Username;
echo $Passwort;
if (file_exists($Benutzerdatei))
{
$datei = fopen($Benutzerdatei,"r");

if ($datei)
{
while (!feof($datei) )//and !ende)
{
echo "----------------<br>";
$PotUser=fgets($datei,255);
$PotPass=fgets($datei,255);
$PotGrup=fgets($datei,255);

echo $PotUser;
echo $PotPass;
echo $PotGrup;

#int i= strcmp(strval($PotUser),strval($Username));
if ($PotUser==$Username)
{
echo "<br>Username=PotUser<br>";
if ($PotPass==$Passwort)
{
echo "<br>Passwort=PotPass<br>";
//Der Benutzer ist gültig!
$ende='1';
}
}
}
}
}
echo $ende;

if ($ende=='1')
{
// der Benutzer war gültig
echo "<br>Sie wurden in der Datenbank gefunden.";
}else
{
// der benutzer war ungültig
echo "<br>Sie wurden NICHT in der Datenbank gefunden.";
}
?>


Die genannte Benutzerdatei hat folgende Struktur:


Benutzername
Passwort
Benutzergruppe


als Beispiel:


HeinzMüller
123
Benutzer
KlausSchmidt
456
Admin


Das Problem scheint mir, dass die if-Abfrage immer false ergibt und somit nicht eingelogt werden kann. Ich vermute daher, das der Stringvergleich nicht korrekt ist. Ich habe dann einen anderenen Vergleich getestet (steht auskommentiert darüber, dann dementsprehend ob i = 0 (laut php hilfe Ergebnis eines korrekten Vergleichs)) In der Zeile wird mir aber dann der Fehler "Unexpectet T-String" rausgeworfen!
Die einzige andere Möglichkeit, die ich mir vorstellen könnte, ist, dass aus der Datei in einem falschen Format gelesen wird, aber ich weis es nicht.

Ich hoffe, dass ich mein Problem verständlich dargegelt habe und dass mir jemand helfen kann. Dafür schonmal herzlichen Dank!

Gruß
Andre

Indyk
29.09.2006, 11:29:36
hast du mal versucht die daten die du aus der datei bekommst auf leerzeichen und ähnliches zu überprüfen?

evtl. könnte dir

trim()


helfen, weil diese leerzeichen vor und hinter einem string entfernt
könnte gut sien das du grad mit diesem problem kämpfst (-;